跳转至

镜像与内存优化

Agent 的多次尝试和并发任务往往使用相似的工具、依赖与初始状态,却只访问其中一部分内容。pVisor 通过按需加载、共享与压缩,减少这些环境的重复准备和资源驻留。

Host 管理内容,guest 执行任务

Host 负责镜像获取、校验与缓存,通过文件接口响应 guest 的读取;Host 侧的 Runtime 与存储组件在支持的配置下管理 RAM 基底、共享页和压缩内容。guest 保留任务执行所需的内核、工具进程与私有状态。

这种分工让多个执行环境共用 Host 的内容服务,各自的文件与内存修改仍保持独立,见共享工作集与按需加载。

按需加载、共享与压缩

三种机制分别处理未访问的内容、重复的内容和需要保留的冷内容:

机制 如何减少开销 对 Agent 执行的作用
按需加载 访问时再读取或解码镜像内容、检查点 RAM,减少提前准备的数据 工具调用只需使用环境中的一部分;恢复或分支也不必立即读取全部保存状态
共享与去重 复用不可变镜像内容,或在支持的 RAM 路径上共享相同页;写入时保留私有修改 多个任务或尝试可以复用相似环境与起点,减少重复副本
压缩 以较少字节保存可压缩的冷内容,需要时解码恢复 暂时不活跃但仍需保留的状态,即使无法共享,也可能降低占用

镜像内容共享与 guest RAM 共享发生在不同层次:多个 VM 使用相同镜像,不代表它们的 RAM 已共享。按需加载会将部分成本推迟到首次访问,压缩也需要 CPU 与恢复缓冲。镜像加载方式见共享镜像缓存,内存路径的支持条件见内存架构与机制。

与生命周期管理协同

沙箱生命周期管理根据等待进展和 guest 状态决定何时暂停、卸载和恢复;上述机制决定内容如何加载、复用与存储。Offload 请求回收驻留页,保存到后备存储的内容是否压缩则取决于具体配置。

例如,多个任务可以复用相同的只读镜像内容,同时按各自的等待情况暂停或卸载。内容复用与生命周期管理按支持配置组合,并非默认同时启用。

评估并发容量时,除了 guest RAM,还要计入 Host 缓存、共享池、私有写入和恢复缓冲,并同时观察任务耗时与吞吐。局部压缩比或单实例内存下降不能直接换算为新增 VM 数,见VM 内存基准与并发密度。