Le CPU Stolen est remonté par les VM Tools installés sur une VM VMWare. Il indique le temps qui est perdu par la VM à cause de l'ESXi, et réduit d'autant les performances de la machine.
La documentation VMWare concernant cet indicateur est disponible en téléchargement sur le site https://code.vmware.com/web/sdk/7.0/vsphere-guest (lien: Guest and HA Application Monitoring SDK Programming Guide ).
Une autre explication qui très claire de ces concepts est disponible sur le site https://www.virtualease.fr/vmware-mecanismes-de-gestion-cpu/.
Le CPU Stolen remonté par les VMWare tools est décomposé en deux indicateurs sur VSphere:
Ces indicateurs sont récupérables dans l'interface VSphere pour la VM. Dans l'affichage des performances de la VM, il faut sélectionner les indicateurs :
|
Ceci va donner deux courbes qui sont:
|
|
Il faut transformer les valeurs cumulées de VSphere en pourcentage, pour cela, il faut faire l'opération suivante: pourcentage = moyenne / (nb_cpus * 20s * 1000ms)
Ainsi dans notre cas, nous avons donc en moyenne:
Dans notre cas la machine perds donc un peu plus de 7% de son temps à cause de la couche de virtualisation.
Le CPU Stolen étant du temps perdu à cause de la couche de virtualisation, il ne faut pas que ce temps soit trop important, sous peine d'avoir des démons Shinken qui tourneront au ralenti, et ne pourront pas effectuer les taches qu'on leur a demandé.
Ainsi, les seuils d'alerte du CPU Stolen sont:
| Si une de vos VM a un fort taux de CPU Stolen, c'est un problème qui doit être réglé sans attendre. |
Les valeurs de %ready et %costop dans l'interface de VSphere vont aider à trouver les bonnes pistes de résolution:
L'hyperthreading permet à un même cœur physique de gérer deux threads en même temps.
Cependant, il ne faut pas considérer que les performances de la machine sont multipliés par deux. VMWare, dans son document concernant les VMWare tools vu plus haut (page 31) considère que l'activation de l'hyperthreading permet d'augmenter les performances de la machines de 20% (et non pas 100% donc).
Nous vous conseillons donc :