ESXi 通过添加附加级别的地址转换来虚拟化客户机物理内存。

  • 每个虚拟机的 VMM 保持了从客户机操作系统的物理内存页到基础计算机上物理内存页的映射。(VMware 将基础主机物理页称为“计算机”页,将客户机操作系统的物理页称为“物理”页。)

    每个虚拟机均有连续的可寻址物理内存空间,该空间从零开始。每个虚拟机使用的服务器上的基础计算机内存不一定是连续的。

  • VMM 侦听对客户机操作系统内存管理结构进行操作的虚拟机指令,以便虚拟机不会直接更新处理器上的实际内存管理单元 (MMU)。

  • ESXi 主机将虚拟-计算机页映射保持在卷影页表中,该表与 VMM 所维护的物理-计算机映射保持同步。

  • 卷影页表由处理器的分页硬件直接使用。

这种地址转换方法允许在设置卷影页表之后,执行虚拟机中的正常内存访问,而不会增加地址转换开销。因为处理器上的转换旁视缓冲区 (TLB) 缓存从卷影页表中读取的直接虚拟-计算机映射,所以 VMM 访问内存时不会增加额外开销。

性能注意事项

使用两个页表具有以下性能影响。

  • 对于常规客户机内存访问不会产生开销。

  • 在虚拟机中映射内存需要额外时间,这可能意味着:

    • 虚拟机操作系统正在设置或更新虚拟地址到物理地址的映射。

    • 虚拟机操作系统从一个地址空间切换到另一个地址空间(上下文切换)。

  • 与 CPU 虚拟化相似,内存虚拟化开销取决于工作负载。