Skip to content

Latest commit

 

History

History
38 lines (31 loc) · 2.15 KB

MemoryFootprint.md

File metadata and controls

38 lines (31 loc) · 2.15 KB

内存占用

Sparrow的发布构建适合占用约1.5MiB的内存,并在4MiB的内存中引导到运行系统。 引导机制(使用capDL和rootserver)实际上需要~2倍的空闲内存占用才能达到运行状态(因为rootserver实例化系统的开销)。 kmem.sh脚本可用于分析内存使用情况。系统服务应该轻松适应1MiB的内存空间,但由于CAmkES开销(例如,每个线程的成本),它们显著膨胀。 我们使用kmem和 bloaty 工具 来评估内存使用情况。

为了将内存使用减少到<1MiB,我们正在将CAmkES的运行时替换为本机Rust框架。 这也应通过扩展借用检查器的范围并使优化器能够跨越CAmkES C <> Rust运行时边界工作来提高性能和鲁棒性,这是CAmkES基于C的实现的副产品。 用于应用程序和SDKRuntime之间通信的RPC机制是原生Rust实现的原型,展示了我们的发展方向。