Beaucoup d’entre nous ont vu ces trois nombres en quelque sorte
Load average: 0.11 0.15 0.23
Donc ce qu’ils signifient et comment pouvez-vous interpréter?
dans l’explication la plus courante, ces trois chiffres vous montrent la charge moyenne du système calculée pour une minute 1, 5 et 15. En fait, ce n’est pas exactement 1,5,15 min, mais je l’expliquerai un peu plus tard.
et que signifient exactement ces chiffres?,
la moyenne de charge sous Linux est un nombre moyen de processus qui se trouvent dans la file d’attente d’exécution et qui sont marqués comme étant en cours d’exécution ou non interruptibles.
est-ce que cela devient plus clair? Nous allons continuer.
dans le monde réel ces trois nombres ce n’est pas une charge de 1, 5 et 15 min. Ce sont de nombreuses constantes qui sont utilisées pour calculer des sommes mobiles exponentiellement amorties d’une moyenne de cinq secondes.
Vous pouvez vérifier leur définition dans les sources du noyau Linux ici: linux/include/linux/sched/loadavg.,H
A l’origine, ces principes ont été empruntés au système TENEX et vous pouvez les trouver ici: https://github.com/PDP-10/tenex
j’ai mentionné que ces nombres incluent des processus non interruptibles. Alors quels sont-ils et pourquoi sont-ils sans coupure? Ils font partie du code de processus qui veut être exempt de signaux système d’interruption bloqués E/S et d’autres verrous. Cela signifie donc que les nombres moyens de charge dépendent désormais non seulement de la charge CPU exacte, mais également du sous-système de charge d’e/s de disque.,
un autre aspect important de la compréhension de la moyenne de charge sous Linux est de savoir comment elle calcule par rapport aux systèmes multi-cœurs / multi-processeurs.
- processeur multicœur-socket unique avec plusieurs cœurs.
- Système multi-processeurs – un système unique avec plusieurs sockets pour processeurs. Bien sûr, chaque processeur peut inclure plusieurs cœurs.
- Hyper-threading — Lorsqu’un noyau physique prend des tâches supplémentaires en mode inactif et apparaît dans le système en tant que noyau logique séparé. Le noyau logique apparaît également dans les nombres de charge moyenne.,
Vous pouvez lire beaucoup d’articles qui nous ont dit que votre ration entre la moyenne de charge et le nombre de processeurs ne devrait pas être supérieure à 1.0 cependant, dans de nombreux cas différents, cela peut être une mauvaise approche de l’évaluation de la charge de votre système. En raison des raisons énumérées ci-dessus qui sont incluses dans les nombres moyens de charge, il est plus adapté pour une évaluation relative de chaque système et vous devez déterminer vos seuils en fonction de vos enregistrements métriques à long terme.,
donc, globalement, une charge système sous Linux est un nombre complexe qui représente la pression globale sur un système et non sur une ressource particulière. Il mesure le nombre de threads exécutables et ceux en attente dans la file d’attente en raison des verrous CPU/Disk I/O /uninterruptible. C’est donc un nombre total de threads qui ne sont pas inactifs pour le moment.
Que pouvez-vous réellement apprendre en un coup d’œil à partir des nombres moyens de charge?
- Si la moyenne de charge pendant 1 minute est supérieure à 5 et 15 min — la charge augmente.,
- Si la charge moyenne pendant 1 minute est moindre que pour les 5 et 15 min, — la charge diminue
- Si la charge moyenne est égale à 0.0 — le système est au repos.