Problèmes de performance aléatoires sur VM Linux sous forte charge CPU

Posté par leon20 le 09/05/2025
RÉSOLU

leon20

Membre depuis le 20/06/2024

yo tout le monde j'ai des vm linux qui tournent sous vmware et on a des spikes de latence et des drops de perf genre 5-10 secondes une ou deux fois par jour quand elles sont sous forte charge cpu


# sysstat output (mpstat)
mpstat -P ALL 5 5
...
03:00:01 PM  all    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
03:00:06 PM  all   95.00    0.00    3.00    0.00    0.00    0.00    2.00    0.00    0.00
... (quelques minutes plus tard)
03:05:01 PM  all    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
03:05:06 PM  all   20.00    0.00    5.00    0.00    0.00    0.00   75.00    0.00    0.00

quand ça arrive le %steal cpu explose comme vous voyez là et les apps répondent plus ou très lentement. on est sur des vm critiques ça nous embête pas mal

Commentaires

anastasie-fischer

Membre depuis le 16/10/2024

le %steal c'est clair c'est un problème d'hyperviseur ta vm se fait piquer des cycles cpu. ça arrive quand l'hyperviseur est surchargé ou mal configuré niveau cpu. t'as combien de vcpu et de ram alloués à ces vm ?

michel69

Membre depuis le 21/07/2019

check aussi si tu as pas de vmotion ou de snapshots qui se lancent automatiquement à ce moment là. des fois vmware consolidation de disques ça peut aussi causer des micro-freezes et du steal cpu

gfouquet

Membre depuis le 23/01/2020

c'est ptete un problème de cpu ready time sur vmware. si le ready time est élevé ça veut dire que ta vm attend que les cores physiques soient dispos pour elle. faudrait regarder les métriques vmware directement pas juste dans la vm

leon20

Membre depuis le 20/06/2024

on a 8 vcpu et 32go de ram par vm. les serveurs physiques sont des machines avec 2x32 cores et 256go de ram. on a beaucoup d'autres vm dessus mais on pensait avoir de la marge.

pas de vmotion ou snapshot planifiés pendant les heures de pointe. je vais regarder le cpu ready time

anastasie-fischer

Membre depuis le 16/10/2024

8 vcpu c'est pas mal pour une seule vm. si t'as beaucoup de vm avec bcp de vcpu alloués l'hyperviseur a du mal à trouver 8 cores physiques libres en même temps pour ta vm. c'est ce qu'on appelle le cpu overcommitment. essaye de réduire les vcpu si possible

michel69

Membre depuis le 21/07/2019

tu devrais aussi regarder la politique de partage cpu sur vmware. si tes vm sont en low priority par rapport à d'autres elles vont se faire steal leur cpu. faut voir les cpu shares et reservations

gfouquet

Membre depuis le 23/01/2020

exactement ou limiter le nombre de vcpu par socket virtuel sur la vm. des fois ça aide l'hyperviseur à mieux gérer. genre 2 sockets avec 4 cores au lieu de 1 socket 8 cores

leon20

Membre depuis le 20/06/2024

bingo ! le cpu ready time était super haut sur ces vm et j'ai vu qu'on avait un overcommitment cpu de fou sur l'hyperviseur. j'ai réduit les vcpu de 8 à 4 sur les vm les moins critiques et j'ai ajusté les cpu shares pour les vm critiques. le steal cpu a chuté drastiquement. merci pour les pistes !

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire