VMware ESXi 6.x – Vider la mémoire en Swap

Introduction

Lors d’un fort overcommit la contention crée peut faire swapper l’ESXi et certaines VMs deviennent lentes, une fois la contention diminuée sous le seuil de swap les pages mémoire repartent en ram, hors parfois quand on est proche du seuil il n’y a pas toute la mémoire de renvoyée, ce qui peux poser des problèmes de performance inutilement.  Je prend pour principe qu’aucune VM ne doit swapper ne serait qu’un peu si ce n’est pas obligatoire, heureusement il est possible de forcer ceci manuellement au cas par cas.

Solution

  • Se connecter sur le host en Shell ou en SSH.
  • Afficher les stats de swap de chaque world via cette commande, dans l’exemple le world 40950 a 157 Mb de mémoire sur le storage, ce qui n’est pas négligeable.
memstats -r vm-stats -u mb -s name:memSize:max:consumed:swapped |sed -n '/ \+name/,/ \+Total/p'

  • Cette commande permet de vider le swap d’une VM via son world en choisissant la quantité à renvoyer en mémoire ram.
localcli --plugin-dir=/usr/lib/vmware/esxcli/int vm process unswap -w [world_number] -s [unswap_quantity] -u MB

  • En utilisant plusieurs fois la première commande, on se rend compte de la diminution de la quantité au fur et à mesure.

...BofBienTrès BienTop ! (Soit le premier à voter)
Loading...

Mathieu

Je suis actuellement ingénieur spécialisé dans le design d'environnements cloud virtualisés. Adepte des technologies de VMware, Nutanix, Citrix et Microsoft je propose à travers ce blog diverses astuces de troubleshooting.

S’abonner
Notification pour
guest

4 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
KELEKO
KELEKO
6 années il y a

Bonsoir

Avez Vous une alternative pour les versions inférieure à ESXI 6.0 par exemple la version 5.5?

Cordialement
KELEKO

KONE
KONE
6 années il y a

Bonjour ,
Merci pour votre réponse , cependant je souhaite savoir sur les licences de la version 5.5 seront prises en compte après l’upgrade pour la version 6.5 ?

Cordialement
KONE