L'onglet Performance de vSphere Client affiche plusieurs mesures pouvant être utilisées pour analyser l'utilisation de la mémoire.

Certaines de ces mesures de mémoire évaluent la mémoire physique client, d'autres mesurent la mémoire machine. Par exemple, la mémoire physique client et la mémoire machine sont deux types d'utilisations de mémoire que vous pouvez examiner à l'aide des mesures de performances. Vous pouvez mesurer la mémoire physique invité à l'aide de la mesure Memory Granted (pour une machine virtuelle) ou Memory Shared (pour un hôte). Toutefois, pour mesurer la mémoire machine, utilisez Memory Consumed (pour une machine virtuelle) ou Memory Shared Common (pour un hôte). Il est important de comprendre la différence conceptuelle entre ces types d'utilisations de mémoire afin de savoir ce qu'évaluent ces mesures et la manière de les interpréter.

VMkernel mappe la mémoire physique client vers la mémoire machine, mais elles ne sont pas toujours mappées l'une par rapport à l'autre. De nombreuses régions de la mémoire physique client peuvent être mappées vers la même région de la mémoire machine (en cas de partage de mémoire) ou des régions spécifiques de la mémoire physique client peuvent ne pas être mappées vers la mémoire machine (lorsque VMkernel échange ou gonfle la mémoire physique client). Dans ces cas, le calcul de l'utilisation de la mémoire physique invité et celui de l'utilisation de la mémoire machine d'une machine virtuelle ou d'un hôte sont différents.

Reportez-vous à l'exemple de la figure qui suit, qui montre l'exécution de deux machines virtuelles sur un hôte. Chaque bloc représente 4 Ko de mémoire et chaque couleur/lettre représente un ensemble de données différent sur un bloc.

Figure 1. Exemple d'utilisation de la mémoire

Ce schéma illustre un exemple de l'utilisation de la mémoire de deux machines virtuelles.

Les mesures de performances des machines virtuelles peuvent être déterminées comme suit :

  • Pour déterminer la mesure Memory Granted (quantité de mémoire physique client mappée vers la mémoire machine) de la machine virtuelle 1, comptez le nombre de blocs de la mémoire physique invité de la machine virtuelle 1 possédant des flèches vers la mémoire machine et multipliez ce nombre par 4 Ko. Étant donné qu'il existe cinq blocs avec des flèches, la mesure Memory Granted est de 20 Ko.
  • La mesure Memory Consumed correspond à la quantité de mémoire machine allouée à la machine virtuelle, comptabilisant les économies depuis la mémoire partagée. Tout d'abord, comptez le nombre de blocs de la mémoire machine possédant des flèches depuis la mémoire physique client de la machine virtuelle 1. Il existe trois blocs de ce type, mais un bloc est partagé avec la machine virtuelle 2. Comptez deux blocs plus la moitié du troisième et multipliez par 4 Ko, soit un total de 10 Ko pour la mesure Memory Consumed.
La différence importante entre ces deux mesures est que la mémoire Memory Granted compte le nombre de blocs comportant des flèches au niveau de la mémoire physique client et la mesure Memory Consumed comptabilise le nombre de blocs comportant des flèches au niveau de la mémoire machine. Le nombre de blocs est différent d'un niveau à l'autre en raison du partage de la mémoire ; les mesures Memory Granted et Memory Consumed sont donc différentes. De la mémoire est économisée grâce au partage ou autres techniques de récupération.
Vous obtenez un résultat similaire lorsque vous déterminez les mesures Memory Shared et Memory Shared Common pour l'hôte.
  • La mesure Memory Shared de l'hôte correspond à la somme de la mesure Memory Shared de chacune des machines virtuelles. Pour calculer la mémoire partagée, examinez la mémoire physique client de chaque machine virtuelle et comptez le nombre de blocs comportant des flèches vers les blocs de mémoire machine possédant eux-mêmes plusieurs flèches pointant dans leur direction. Il existe six de ces blocs dans l'exemple, la mesure Memory Shared de l'hôte est donc de 24 Ko.
  • La mesure Memory Shared Common correspond à la quantité de mémoire machine partagée par les machines virtuelles. Pour déterminer la mémoire commune, examinez la mémoire machine et comptez le nombre de blocs possédant plusieurs flèches en leur direction. Il existe trois de ces blocs ; la mesure Memory Shared Common est donc de 12 Ko.
La mesure Memory Shared concerne la mémoire physique client et examine l'origine des flèches. Toutefois, la mesure Memory Shared Common traite de la mémoire machine et examine la destination des flèches.

Les mesures de mémoire mesurant la mémoire physique client et la mémoire machine peuvent sembler contradictoires. En réalité, elles mesurent différents aspects de l'utilisation de la mémoire d'une machine virtuelle. La compréhension de la différence entre ces mesures vous permet de mieux les utiliser afin de diagnostiquer les problèmes de performances.