La gestion de la mémoire VMware semble être un exercice d'équilibre délicat. Avec la RAM de cluster, les pools de ressources, les techniques de gestion de VMware (TPS, montgolfière, permutation d'hôte), l'utilisation de la RAM en invité, la permutation, les réservations, les partages et les limites, il existe de nombreuses variables.
Je suis dans une situation où les clients utilisent des ressources de cluster vSphere dédiées. Cependant, ils configurent les machines virtuelles comme si elles se trouvaient sur du matériel physique. À son tour, cela signifie qu'une version de machine virtuelle standard peut avoir 4 vCPU et 16 Go ou plus de RAM. Je viens de l’école de petite entreprise (1 vCPU, RAM minimale), de vérifier l’utilisation dans le monde réel et d’ajuster si nécessaire. Malheureusement, de nombreuses exigences des fournisseurs et des personnes peu familiarisées avec la virtualisation demandent plus de ressources que nécessaire ... Je souhaiterais quantifier l'impact de cette décision.
Quelques exemples d'un cluster "problème".
Récapitulatif du pool de ressources - Ressemble presque 4: 1 surchargé. Notez la quantité élevée de RAM en ballon.
Allocation de ressources - La colonne Allocation des cas les plus défavorables indique que ces machines virtuelles auraient accès à moins de 50% de leur RAM configurée dans des conditions contraignantes.
Graphique d'utilisation de la mémoire en temps réel de la première machine virtuelle de la liste ci-dessus. 4 vCPU et 64 Go de RAM alloués. Il utilise en moyenne moins de 9 Go.
Résumé de la même VM
Quels sont les inconvénients de la surconsommation et de la surconfiguration des ressources (en particulier de la RAM) dans les environnements vSphere?
En supposant que les ordinateurs virtuels peuvent fonctionner avec moins de RAM, est-il juste de dire que la configuration de machines virtuelles avec plus de RAM qu’elle est réellement fastidieuse?
Quel est le contre-argument de: "si une machine virtuelle a 16 Go de RAM allouée, mais utilise seulement 4 Go, quel est le problème ?? "? Par exemple, les clients doivent-ils savoir que les ordinateurs virtuels ne sont pas identiques au matériel physique?
Quelle (s) mesure (s) spécifique (s) faut-il utiliser pour mesurer l'utilisation de la RAM? Suivi des pics "Actif" par rapport au temps? Regarder "Consumed"?
Mise à jour: j'ai utilisé vCenter Operations Manager pour profiler cet environnement et obtenir des informations détaillées sur les statistiques de cluster répertoriées ci-dessus. Bien que les choses soient définitivement surchargées, les machines virtuelles sont tellement surconfigurées avec de la RAM inutile que la véritable (minuscule) empreinte mémoire ne montre pas de conflit de mémoire au niveau du cluster / de l'hôte ...
Ce que je retiens, c'est que les machines virtuelles doivent être de la bonne taille avec un peu de tampon pour la mise en cache au niveau du système d'exploitation. S'engager hors des ignorances ou des "exigences" du vendeur conduit à la situation présentée ici. Le gonflement de la mémoire semble être mauvais dans tous les cas, car il y a un impact sur les performances, donc une bonne taille peut aider à empêcher cela.
Mise à jour 2: Certaines de ces machines virtuelles commencent à se bloquer avec:
kernel:BUG: soft lockup - CPU#1 stuck for 71s!
VMware décrit cela comme un symptôme de surengagement de la mémoire . Donc, je suppose que cela répond à la question.
Rapport vCops "Machines virtuelles surdimensionnées" ...
Graphique vCops "Déchets récupérables" ...