Devido ao nível extra de mapeamento de memória introduzido pela virtualização, ESXi pode gerenciar efetivamente a memória em todas as máquinas virtuais.

Uma parte da memória física de uma máquina virtual pode ser mapeada para páginas compartilhadas ou para páginas não mapeadas ou trocadas.

Um host executa o gerenciamento de memória virtual sem o conhecimento do sistema operacional convidado e sem interferir com o próprio subsistema de gerenciamento de memória do sistema operacional convidado.

O VMM de cada máquina virtual mantém um mapeamento das páginas de memória física do sistema operacional convidado para as páginas de memória física na máquina subjacente. (VMware refere-se às páginas físicas do host subjacente como páginas de "máquina" e as páginas físicas do sistema operacional convidado como páginas "físicas".)

Cada máquina virtual vê um espaço de memória física endereçável, com base em zero e contíguo. A memória da máquina subjacente no servidor usada por cada máquina virtual não é necessariamente contígua.

Os endereços físicos virtuais de guest para guest são gerenciados pelo sistema operacional guest. O hipervisor é responsável apenas pela conversão dos endereços físicos guest em endereços de máquina. A virtualização de memória assistida por hardware utiliza a instalação de hardware para gerar os mapeamentos combinados com as tabelas de página do guest e as tabelas de página aninhadas mantidas pelo hipervisor.

O diagrama ilustra a ESXi implementação da virtualização de memória.

Figura 1. ESXi Mapeamento de Memória

Esta figura ilustra a implementação de virtualização de memória.
  • As caixas representam páginas e as setas mostram os diferentes mapeamentos de memória.
  • As setas da memória virtual guest para a memória física guest mostram o mapeamento mantido pelas tabelas de páginas no sistema operacional guest. (O mapeamento da memória virtual para a memória linear para processadores com arquitetura x86 não é mostrado.)
  • As setas da memória física guest para a memória da máquina mostram o mapeamento mantido pelo VMM.
  • As setas tracejadas mostram o mapeamento da memória virtual de convidado para a memória da máquina nas tabelas de páginas de sombra também mantidas pelo VMM. O processador subjacente que executa a máquina virtual usa os mapeamentos de tabela da página de sombra.