Question Que signifie moyenne de charge sur Unix / Linux?


Si je cours uptime, Je reçois quelque chose comme ça:

10:50:30 up 366 days, 23:27,  1 user,  load average: 1.27, 2.06, 1.54

Que signifient ces chiffres à la fin? La page de manuel indique que "la moyenne de charge du système est de 1, 5 et 15 minutes". Mais quelle est la balance? Est-ce que 1,27 est haut? Faible? Cela dépend-il de mon système?


65
2017-08-16 23:03


origine


Je me demande comment la moyenne de charge devrait être interprétée sur un système multi-core. - nagul
En règle générale, vous devez diviser la charge moyenne par le nombre de processeurs pour les systèmes multi-core. Ainsi, une charge de 2,0 sur un système dual core équivaut à peu près à une version 1.0 sur un système à cœur unique. Ce n'est pas tout à fait vrai, à cause de choses comme les E / S de disque et le traiffic réseau, mais la charge est en quelque sorte une estimation rapide. - Mike Cooper
J'ai trouvé ce blog vraiment utile: Comprendre la charge du processeur Linux - atmaish


Réponses:


La moyenne de charge est un indicateur du nombre moyen de processus exigeant simultanément une attention du processeur.

Généralement, si vous avez un processus en cours d'exécution à 100%, et que cela reste juste comme ça pour toute l'éternité, vous pouvez vous attendre à ce que toutes les valeurs approchent de '1'.

En règle générale, il s’agit d’un calcul aussi efficace que possible, sans pertes dues aux changements de contexte.

Cependant, sur les systèmes d'exploitation multitâches modernes, il y a plus d'une chose qui nécessite l'attention du processeur, donc sous une charge modérée d'un seul processus, la moyenne de la charge devrait flotter entre 0,8 et 2.

Si vous décidez de faire quelque chose de fou, comme construire un noyau avec make -j 60, même avec seulement un processeur logique, alors la moyenne de chargement se précipiterait vers 60, et votre ordinateur vous serait incroyablement inutile (changement de la mort par contexte).

A noter également que cette métrique est indépendante du nombre de cœurs / processeurs. Pour un système à deux coeurs, l'exécution d'un processus qui utilise un cœur entier (laissant l'autre inactif) entraîne une moyenne de charge de 1,0. Pour déterminer le niveau de chargement d'un système, vous devez connaître le nombre de cœurs et faire la division vous-même.


57
2017-08-16 23:15



Ainsi, une moyenne de charge inférieure à 1 signifie que «les processus ne doivent généralement jamais attendre»? Puis-je interpréter une moyenne de charge de 2 comme suit: "Chaque processus prend environ deux fois plus de temps que dans des conditions idéales"? (Je sais qu'il y a aussi des I / O à vous inquiéter) - John Fouhy
Oui, cela a du sens, en ignorant IO qui est;) - Kent Fredric
@KentFredric "Généralement, l'informatique est aussi efficace que possible, pas de pertes dues aux changements de contexte." 1 processus est-il toujours opérationnel à 100%? Je manque sûrement quelque chose de fondamental ici. Pourriez-vous s'il vous plaît expliquer ce que vous vouliez dire? Je suis confus car comment peut-on qualifier d'efficace un processus englobant toutes les ressources du processeur? - Geek
Je sais qu'un processus fonctionnant à 100% ne semble pas très efficace, mais si le processus se limitait arbitrairement à utiliser seulement 20%, cela prendrait 5 fois plus de temps. Donc, l'efficacité signifie ici "l'utilisation optimale des ressources". - Kent Fredric
Donc, pour un système à cœur n, une moyenne de charge de n signifie que chaque cœur traite / gère un processus 100% du temps et est donc le plus efficace? - joshreesjones


man 5 proc:

/ proc / loadavg Les trois premiers champs de ce fichier sont la moyenne de chargement   chiffres indiquant le nombre d'emplois dans la file d'attente (état R) ou   L'attente des E / S disque (état D) était de 1, 5 et 15 minutes.   Ils sont les mêmes que les nombres moyens de charge donnés par la disponibilité (1) et   d'autres programmes.


9
2017-07-24 13:51





En général, il mesure le nombre de processus actifs à un moment donné, mais les paramètres utilisés pour le calculer diffèrent sur certains systèmes. Le seul article que j'ai trouvé qui l'explique assez bien est celui-là.


3
2017-08-16 23:11



Ce lien est daté '03. Linux 2.6 est sorti depuis. (Vous remarquerez qu'ils utilisent 2.0, Ouch.) Les métriques semblent être quelque peu différentes dans la pratique que celles indiquées sur cette page. - Kent Fredric
En voici un de fin 2006, qui n’est pas si différent de l’article lié: linuxjournal.com/article/9001 - nagul


Je cite une référence de cours:

La moyenne de charge est la moyenne du nombre de charges pour une période donnée de   temps. Il prend en compte les processus qui sont:

  • En cours d'exécution sur un processeur.
  • Considéré comme exécutable, mais en attente d'une CPU disponible.
  • Sleeping: c.-à-d. Attendre qu'une sorte de ressource (typiquement, E / S) soit disponible.

Je cite plus loin interprétation de la charge moyenne:

La moyenne de la charge est affichée en utilisant trois jeux de nombres différents,   comme indiqué dans l'exemple suivant:

La dernière information est la charge moyenne du système.   En supposant que notre système est un système à un seul processeur, le 0.25 signifie que pour   Au cours des dernières minutes, en moyenne, le système a été utilisé à 25%. 0,12 po   la position suivante signifie que sur les 5 dernières minutes, en moyenne, le   le système a été utilisé à 12%; et 0,15 dans la position finale signifie   qu'au cours des 15 dernières minutes, le système a été en moyenne de 15%   utilisé. Si nous avons vu une valeur de 1,00 dans la deuxième position, cela   impliquer que le système à processeur unique était utilisé à 100%, en moyenne, sur   les 5 dernières minutes; c'est bien si nous voulons utiliser pleinement un système. UNE   valeur supérieure à 1,00 pour un système à processeur unique implique que le système était   surexploité: il y avait plus de processus nécessitant un processeur que le processeur était   disponible.

Si nous avions plus d'un processeur, disons un système quad-CPU, nous diviserions   les nombres moyens de chargement par le nombre de processeurs. Dans ce cas, pour   exemple, en voyant une moyenne de charge de 1 minute de 4,00, cela signifie que le   le système dans son ensemble était utilisé à 100% (4,00 / 4) au cours de la dernière minute.

Les augmentations à court terme ne sont généralement pas un problème. Un pic élevé que vous voyez est   probablement une explosion d'activité, pas un nouveau niveau. Par exemple, au démarrage,   de nombreux processus commencent et ensuite l'activité s'installe. Si un pic élevé est   vu dans les moyennes de charge de 5 et 15 minutes, cela pourrait être la cause de   préoccupation.


2
2018-05-14 06:22



Il serait utile d'ajouter un lien vers votre référence. - Pierz
C'est difficile. C'est un cours en ligne de la Linux Foundation pour préparer l'examen LFCS. - Ely