Dans 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 habituelles, il a été dit que les informations ne pouvaient pas être affichées, car la charge du système était supérieure à 2 et Je me demandais ce que cela voulait dire? Je venais juste de le redémarrer parce que c'était insensible, est-ce que cela a quelque chose à voir avec le processus de démarrage et de démarrage?
Exécutez les commandes top
ou uptime
name__:
$ 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 charges moyennes indiquées voici :
/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 charges moyennes: 0.05, 0.16, 0.21
Cela signifie qu'à la dernière minute, en moyenne, 0,05 processus attendaient des ressources.
Devez-vous vous inquiéter que la charge moyenne soit de 2? En général, si la charge moyenne est supérieure au nombre de processeurs disponibles, certains processus doivent rester inactifs pendant l'attente d'un emplacement de processeur.
Si la charge moyenne est inférieure à la sortie de nproc
name__, vous n'avez pas à vous inquiéter.
Voir aussi: Que signifie moyenne de charge sous unix/linux? Comme le note Braiam, les processus ne doivent pas attendre uniquement pour le processeur: Comprendre la charge moyenne par rapport à l'utilisation du processeur
charge du système ou moyenne de la charge du système
C'est une file d'attente, c'est-à-dire une file d'attente de processus attendant qu'une ressource (unité centrale, entrée/sortie, etc.) soit disponible.
Considérez un mono-cœur cpu
comme une seule voie de trafic avec pont et processus en tant que wagons.
Maintenant, dans cette situation, la charge du système est
Ce nombre n’est pas normalisé en fonction de votre cpu
name__. Dans un système multiprocesseur, la charge 2 signifie une utilisation à 100% de notre processeur dual-core, la charge 4 correspond à une utilisation à 100% si nous utilisons un processeur quadricœur.
Vous pouvez obtenir votre charge système en utilisant
uptime
name__cat /proc/loadavg
top
name__
$ disponibilité de 22:49:47 jusqu'à 11:47, 4 utilisateurs, charge moyenne: 2.20, 1.03, 0.82
Voici les trois derniers chiffres représentant la charge moyenne du système pendant 1, 5 et 15 minutes respectivement.
L'exemple ci-dessus indique qu'il y avait en moyenne 2,20 processus en attente de planification sur la file d'attente d'exécution mesurés au cours de la dernière minute.
La charge du système dépend du nombre de cœurs de la CPU. Par exemple, si vous avez une CPU à quatre cœurs (4 cœurs), la valeur 1 signifie que la charge du système est à 25% et 4, à 100%.
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 rester 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 (thread unique):
.
Le processeur ne fait rien du tout. Si un processus commençait à utiliser le processeur, il serait le seul à l’utiliser.
1.
Le processeur est au maximum de son utilisation, mais il n'y a pas de conflit entre les processus d'utilisation du processeur. Autrement dit, un seul processus est en cours d'exécution et peut donc réclamer 100% du temps CPU pour lui-même. Alternativement, plusieurs processus sont en cours d'exécution, mais aucun ne réclame 100% de CPU et leur utilisation combinée totalise jusqu'à 100%. Ils fonctionnent tous toujours aussi vite qu’ils le feraient même s’ils avaient le processeur entièrement à eux-mêmes.
Supérieur à 1.
Le processeur est au maximum de son utilisation et de nombreux processus souhaitent l’utiliser simultanément, de sorte qu’ils s'exécutent plus lentement qu’ils ne pourraient le faire s’ils avaient un usage exclusif du processeur. Par exemple, une charge moyenne de 3,0 indique que les processus s'exécutent à un tiers de leur vitesse d'exécution. Une charge moyenne de 50,0 indique que les processus s'exécutent à une vitesse égale à 1/50, en raison de tous les autres processus en cours d'exécution. Autrement dit, les chiffres supérieurs à 1,0 indiquent que le processeur disponible est divisé entre de plus en plus de processus actifs.
Avoir un processeur à plusieurs cœurs ne change pas la signification des chiffres, mais 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% d'UC sur un cœur, mais il existe trois autres cœurs. Ainsi, sur un processeur à 4 cœurs, l'efficacité maximale est de 4,0, et non de 1,0, et le point auquel tout fonctionne à 1/3 d'efficacité est de 12,0, et non de 3,0. Pour ajouter à la complexité, un processus unique peut avoir plus d'un thread, chacun revendiquant son propre processeur. Ainsi, un seul processus peut utiliser 100% des 4 cœurs s'il est multithread.
Si vous tapez terminal temps de disponibilité, vous verrez quelque chose comme: charge moyenne et trois colonnes de chiffres correspondant aux charges d'une, cinq et quinze minutes. Si vous avez un processeur double cœur, 2 signifie 100% d'utilisation, 1 signifie 50%, etc.