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

leon20 09/05/2025
RÉSOLU
leon20
Auteur
Avatar de leon20
leon20
Auteur

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

09/05/2025 à 14:34

8 commentaires

anastasie-fischer
Membre Actif Secouriste
Avatar de anastasie-fischer
anastasie-fischer
Membre Actif Secouriste

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 ?

10/05/2025 à 10:14
michel69
Membre Actif Secouriste
Avatar de michel69
michel69
Membre Actif Secouriste

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

11/05/2025 à 07:26
gfouquet
Membre
Avatar de gfouquet
gfouquet
Membre

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

12/05/2025 à 05:27
leon20
Auteur
Avatar de leon20
leon20
Auteur

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

13/05/2025 à 03:19
anastasie-fischer
Membre Actif Secouriste
Avatar de anastasie-fischer
anastasie-fischer
Membre Actif Secouriste

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

14/05/2025 à 02:26
michel69
Membre Actif Secouriste
Avatar de michel69
michel69
Membre Actif Secouriste

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

14/05/2025 à 23:07
gfouquet
Membre
Avatar de gfouquet
gfouquet
Membre

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

15/05/2025 à 20:14
leon20
Auteur
Avatar de leon20
leon20
Auteur

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 !

16/05/2025 à 14:40

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