Qu'est-ce que la charge système?

13

À mon travail, nous avons un référentiel de données exécutant Ubuntu 12.04.03 CLI et comme je les vérifiais ce matin lorsque je me suis connecté au lieu de me donner les informations normales, il a dit que les informations ne pouvaient pas être affichées car la charge du système est supérieure à 2 et Je me demandais ce que cela signifiait? Je venais juste de le redémarrer car il ne répondait pas a-t-il quelque chose à voir avec le processus de démarrage et de démarrage?

Sean G
la source

Réponses:

17

Exécutez les commandes topou uptime:

$ uptime
 19:36:03 up 5 days,  9:12,  8 users,  load average: 0.05, 0.16, 0.21
$ top -bn1 | head -1
top - 19:36:07 up 5 days,  9:13,  8 users,  load average: 0.05, 0.16, 0.21

Les moyennes de charge indiquées ici sont :

/proc/loadavg
          The  first  three  fields  in this file are load average figures
          giving the number of jobs in the run queue (state R) or  waiting
          for disk I/O (state D) averaged over 1, 5, and 15 minutes.  They
          are the same as the load average numbers given by uptime(1)  and
          other  programs. 

Considérez mes moyennes de charge: 0.05, 0.16, 0.21
cela signifie qu'au cours de la dernière minute, en moyenne, 0,05 processus ont attendu des ressources.

Devez-vous craindre que la charge moyenne soit de 2? En général, si la moyenne de charge est supérieure au nombre de CPU disponibles, certains processus ont dû tourner au ralenti en attendant un slot CPU.

Si la moyenne de charge est inférieure à la sortie de nproc, vous n'avez pas à vous inquiéter.

Voir aussi: Que signifie la moyenne de charge sous unix / linux? Comme le note Braiam, les processus n'ont pas besoin d'attendre uniquement le CPU: comprendre la charge moyenne et l'utilisation du processeur

muru
la source
C'est très utile, mais juste après le redémarrage, devrait-il être aussi chaud étant donné que nous ne l'avons pas vu auparavant? Il exécute AMD Athlon (tm) 64 X2 Dual Core Processor 4200+ et n'exécute aucun graphique ni processus supplémentaire.
Sean G
@SeanG il pourrait, selon ce qu'il exécute d'autre. Ce pourrait être un événement ponctuel. Si cela se produit à plusieurs reprises, utilisez quelque chose comme bootchart pour voir ce qui se passe lors du démarrage.
muru
«Cela signifie qu'au cours de la dernière minute, en moyenne, 0,05 processus a attendu le processeur.» en fait, cela est incomplet, la ressource peut être n'importe quel matériel, pas seulement un processeur. Cela pourrait être un disque, un réseau, un GPU, etc.
Braiam
@Braiam true (j'ai fait la déclaration trop simplifiée). Je suis tombé sur ce q lors de la recherche de googling, mais je n'ai pas pensé à l'inclure.
muru
Juste après le redémarrage, la moyenne de charge peut en effet être élevée car le système vient de passer par la séquence d'initialisation intensive. Comme expliqué dans la réponse, il faut quelques minutes pour que les chiffres tombent à la normale. Les travaux anacroniques en retard peuvent prolonger la période.
Emil Jeřábek soutient Monica
7

Charge système ou charge système moyenne

Il s'agit d'une file d'attente d'exécution, c'est-à-dire une file d'attente de processus attendant qu'une ressource (processeur, entrées / sorties, etc.) devienne disponible.

Considérez un monocœur cpucomme une seule voie de circulation avec un pont et un processus comme des voitures.

Maintenant, dans cette situation, la charge du système est

  • 0,0 - S'il n'y a pas de circulation sur la route.
  • 1.0 -Si le trafic sur la route est exactement la capacité du pont.
  • Plus de 1 - Si la circulation sur route est supérieure à la capacité du pont et que les voitures doivent attendre pour passer à travers le pont.

Ce nombre n'est pas normalisé selon votre cpu. Dans le système multiprocesseur, la charge 2 signifie 100% d'utilisation de nous utilisons un processeur dual-core, la charge 4 signifie 100% d'utilisation si nous utilisons quad-core.

Vous pouvez obtenir la charge de votre système en utilisant

  • uptime
  • cat /proc/loadavg
  • top

    Temps de disponibilité $ 22:49:47 jusqu'à 11:47, 4 utilisateurs, charge moyenne: 2,20, 1,03, 0,82

Voici les trois derniers chiffres représentant la moyenne de la charge du système pour 1, 5 et 15 minutes respectivement.

L'exemple ci-dessus indique qu'en moyenne, 2,20 processus attendaient d'être planifiés dans la file d'attente d'exécution mesurée au cours de la dernière minute.

g_p
la source
Cela n'explique pas quelle est la moyenne de charge.
Braiam
l'a ajouté dans la réponse.
g_p
2

La charge du système dépend du nombre de cœurs de processeur, par exemple, si vous avez un processeur à quatre cœurs (4 cœurs), la valeur 1 signifie que la charge du système est de 25% et 4 signifie 100%.

Ghassen Telmoudi
la source
Cela n'explique pas ce qu'est la moyenne de charge et est erroné quant à la relation entre le temps processeur% et la moyenne de charge.
Braiam
0

Si vous saisissez la disponibilité du terminal, vous verrez quelque chose comme: la charge moyenne et trois colonnes de chiffres qui sont des charges d'une, cinq et quinze minutes. Si vous avez un processeur dual core 2 signifie 100% d'utilisation, 1 signifie 50%, etc.

EdiD
la source
Cela n'explique pas ce qu'est la moyenne de charge et est erroné quant à la relation entre le temps processeur% et la moyenne de charge.
Braiam
1
Oui. Du manuel de disponibilité: la moyenne de charge de 1 signifie qu'un seul système CPU est chargé tout le temps tandis que sur un système 4 CPU, cela signifie qu'il était inactif 75% du temps.
EdiD
Il n'y a aucune relation entre la charge du processeur et la moyenne de charge. Revérifier.
Braiam
0

Une charge système de 2.0 n'est pas très élevée. Sur un système multicœur, votre processeur peut même être partiellement inactif.

Une moyenne de charge est une mesure de la surcharge d'un cœur de processeur en termes de nombre de processus souhaitant l'utiliser simultanément.

Les éléments suivants supposent un processeur à cœur unique (un seul thread):

  • 0,0

    Le CPU ne fait rien du tout. Si un processus devait commencer à utiliser le CPU, ce serait le seul à l'utiliser.

  • 1.0

    Le processeur est à son utilisation maximale, mais il n'y a aucun conflit entre les processus d'utilisation du processeur. Autrement dit, un seul processus est en cours d'exécution, il est donc capable de réclamer 100% du temps CPU pour lui-même. Alternativement, plusieurs processus sont en cours d'exécution mais aucun ne revendique 100% de CPU, et leur utilisation combinée de CPU s'élève à 100%. Ils fonctionnent tous aussi vite qu'ils le feraient même s'ils avaient le processeur entièrement pour eux.

  • Supérieur à 1,0

    Le processeur est à son utilisation maximale, et plusieurs processus souhaitent l'utiliser simultanément, de sorte qu'ils s'exécutent plus lentement qu'ils ne pourraient autrement s'exécuter s'ils avaient une utilisation exclusive du processeur. Par exemple, une moyenne de charge de 3,0 indique que les processus s'exécutent à un tiers de la vitesse qu'ils souhaitent exécuter. Une moyenne de charge de 50,0 indique que les processus s'exécutent à 1/50 de la vitesse qu'ils souhaitent exécuter, en raison de tous les autres processus en cours d'exécution. Autrement dit, des chiffres supérieurs à 1,0 indiquent que le processeur disponible est divisé entre des processus de plus en plus actifs.

Avoir un processeur multi-cœur ne change pas la signification des chiffres mais change la façon dont ils doivent être interprétés. Par exemple, si vous avez un processeur à 4 cœurs, une charge de 1,0 équivaut toujours à un processus utilisant 100% de processeur sur un cœur, mais il y a trois autres cœurs. Ainsi, sur un processeur à 4 cœurs, le point d'efficacité maximale est 4,0, et non 1,0 - et le point auquel tout fonctionne à 1/3 est 12,0, et non 3,0. Pour ajouter à la complexité, un seul processus peut avoir plus d'un thread réclamant chacun son propre processeur. Un seul processus peut donc utiliser 100% des 4 cœurs s'il est multithread.

thomasrutter
la source