CPU élevé en raison de trop nombreux threads
Ajouter davantage de threads ne signifie pas toujours que plus de travail est accompli. Au-delà d'un certain seuil, cela aggrave les choses.
Common symptoms
- Le CPU augmente mais le débit n'augmente pas
- Ajouter des workers aggrave la latence
- Les changements de contexte augmentent brutalement
Likely causes
- Pools de threads surprovisionnés
- Création illimitée de workers
- État partagé avec beaucoup de verrous
Evidence to look for
Les changements de contexte sont anormalement élevés
Le nombre de threads dépasse le nombre de cœurs disponibles
La latence de la file d'attente d'exécution augmente
What it usually means
Le système passe plus de temps à basculer entre les threads qu'à exécuter un travail utile.
What to do next
- 1Réduire le nombre de threads et mesurer à nouveau
- 2Réduire la contention sur l'état partagé
- 3Utiliser des modèles asynchrones ou pilotés par événements lorsque c'est possible
See what's causing your CPU
cpum.ai turns CPU, process, disk, and memory signals into plain-English explanations with evidence.
Open cpum.ai