ESXi virtualise la mémoire physique invité en ajoutant un niveau supplémentaire de translation d'adresse.

  • Pour chaque machine virtuelle, VMM conserve un mappage entre les pages de mémoire physique du système d'exploitation client et les pages de mémoire physique de la machine sous-jacente. (VMware fait référence aux pages physiques de l'hôte sous-jacent sous le nom de pages « machine » et aux pages physiques du système d'exploitation client sous le nom de pages « physiques ».)

    Chaque machine virtuelle perçoit un espace de mémoire physique contigu, basé sur le zéro et adressable. La mémoire machine sous-jacente sur le serveur utilisé par chaque machine virtuelle n'est pas nécessairement contiguë.

  • VMM intercepte les instructions de machine virtuelle manipulant les structures de gestion de la mémoire du système d'exploitation client afin que l'unité de gestion de la mémoire (MMU) réelle du processeur ne soit pas directement mise à niveau par la machine virtuelle.

  • L'hôte ESXi conserve les mappages de page virtuelle vers page machine dans une table de page fantôme maintenue à niveau par rapport aux mappages physique vers machine (conservés par VMM).

  • Les tables de page fantômes sont directement utilisées par le matériel de pagination du processeur.

Cette approche de traitement de la translation permet d'accéder normalement à la mémoire de la machine virtuelle afin qu'elle s'exécute sans ajouter de supplément de translation d'adresse, une fois que les tables de page fantôme sont configurées. Le tampon de traduction (TLB) du processeur met en cache les mappages directs virtuel vers machine lus depuis les tables de page fantôme ; aucun supplément n'est donc ajouté par VMM pour accéder à la mémoire.

Considérations de performances

L'utilisation de tables à deux pages influence les performances de la manière suivante.

  • Aucun supplément n'est appliqué pour l'accès normal à la mémoire client.

  • Un temps supplémentaire est nécessaire pour mapper la mémoire dans une machine virtuelle, ce qui peut signifier les éléments suivants :

    • Le système d'exploitation de la machine virtuelle configure ou met à niveau des mappages d'adresse virtuelle vers adresse physique.

    • Le système d'exploitation de la machine virtuelle commute d'un espace d'adressage à l'autre (commutation contextuelle).

  • Au même titre que la virtualisation de CPU, le supplément de virtualisation de mémoire dépend de la charge de travail.