Solution 1 :
Cela soulève la question, jusqu'où la charge du système peut-elle aller ? Par exemple est-il possible qu'il monte jusqu'à 2,00 voire 100,00 ?
Absolument. En regardant le uptime
page de manuel :
System load averages is the average number of processes that are either
in a runnable or uninterruptable state. A process in a runnable state
is either using the CPU or waiting to use the CPU. A process in unin‐
terruptable state is waiting for some I/O access, eg waiting for disk.
The averages are taken over the three time intervals. Load averages
are not normalized for the number of CPUs in a system, so a load aver‐
age of 1 means a single CPU system is loaded all the time while on a 4
CPU system it means it was idle 75% of the time.
Donc, si vous avez beaucoup de processus en attente d'exécution (ou beaucoup de processus bloqués en attente d'E/S), vous allez avoir une charge moyenne élevée. Cet article en parle plus en détail et contient des liens utiles vers d'autres ressources.
Sur un système déchargé, la charge moyenne sera généralement comprise entre 0 <=load_average <=n , où n est le nombre de cœurs de votre système.
Solution 2 :
J'ai vu des systèmes vivants frapper des milliers. Charge moyenne une mesure relative basée sur les processus d'attente du niveau de concurrence pour attirer l'attention du noyau et se voir accorder du temps sur le processeur. Si la machine est submergée de tâches ou plante, cela peut prendre beaucoup de temps.
Le niveau acceptable dépend de la machine, du nombre de cœurs, du type de planificateur de tâches du noyau utilisé et des tâches que vous attendez de lui. J'ai des machines qui sont assez satisfaites dans la gamme ~ 10 mais qui s'enlisent si elles atteignent ~ 40-50. D'autres deviennent sensiblement lents à 2 et seraient inutilisables à 10.
Il n'est pas rare que la charge soit élevée pendant le démarrage puisque beaucoup de choses sont faites en même temps et que la machine s'enroule. Je considérerais ~1 comme une charge tout à fait normale à atteindre lors du démarrage d'un ordinateur de bureau Linux, puis s'installer à ~0,1 sans rien faire.
Solution 3 :
Sous Linux, les valeurs moyennes de charge du système sont composées de processus dans l'un des trois états différents. En général, on pourrait dire que la charge moyenne est la quantité de processus attendant du temps CPU ou consommant du temps CPU. Les trois valeurs de l'aperçu de la charge moyenne sont la charge moyenne au cours de la dernière minute, des 5 dernières minutes et des 15 dernières minutes.
Les trois états différents des processus pris en compte dans la charge moyenne sont :(1) les processus en cours d'exécution sur le CPU, (2) les processus en attente de temps CPU et (3) les processus en veille ininterrompue. La dernière catégorie, bien qu'elle ne génère pas de charge CPU, peut augmenter considérablement la charge moyenne du système.
Par exemple, une douzaine de processus en attente de lecture à partir d'un disque très occupé ou indisponible généreront une charge moyenne de 12 en tant que processus en veille ininterrompue, mais votre processeur peut être parfaitement inactif entre-temps.
Donc, oui, la charge moyenne peut facilement atteindre deux chiffres. La gravité de cette situation dépend plutôt de votre matériel. Si vous avez 16 cœurs, avoir 16 processus en attente de temps CPU n'est pas si mal. Sur une machine à un seul cœur, avoir 3 processus en attente de temps CPU peut être très mauvais.
Solution 4 :
Créez un processus C simple exécutant des boucles infinies dans 10 000 threads. Donnez-lui une priorité très basse (+20). Votre charge sera de 10000, tandis que votre système sera toujours utilisable. Il n'utilisera que très peu de RAM (tout au plus quelques mégaoctets).
Bien qu'il s'agisse d'une configuration assez rare, vous ne trouverez pas cela dans les systèmes réels.
La charge du système ne signifie que le nombre moyen de processus en attente d'un créneau horaire CPU, ni moins ni plus. Voici une autre réponse sur la bonne façon d'interpréter la charge du système.
Dans l'expérience quotidienne, une charge supérieure à 30+ signifie généralement un problème.
Solution 5 :
Quelques secondes après avoir tué un processus qui mangeait un vieux processeur 450Mhz :