CPU élevé à cause de la contention de verrous
Lorsque plusieurs threads se disputent des ressources partagées, le système consomme du CPU pour la coordination plutôt que pour effectuer un travail utile.
Common symptoms
- CPU élevé mais débit décevant
- Plus de concurrence aggrave les choses
- Les pics de latence sont imprévisibles
Likely causes
- Contention de mutex ou de verrous
- Structures de données partagées sous forte charge
- Sections critiques trop larges
Evidence to look for
perf affiche des fonctions de rotation active (spin) ou d'attente
Les changements de contexte sont corrélés à la latence
Réduire le nombre de threads améliore le débit
What it usually means
La machine passe du temps à se battre pour des verrous au lieu d'effectuer un travail productif.
What to do next
- 1Réduire la portée des sections critiques
- 2Réduire les accès à l'état partagé
- 3Envisager des structures de données sans verrou pour les chemins critiques
See what's causing your CPU
cpum.ai turns CPU, process, disk, and memory signals into plain-English explanations with evidence.
Open cpum.ai