Dans quelle mesure la charge du système peut-elle être élevée?

Chaque fois que je me connecte à mes servers via SSH, cela me montre un peu l'information du server. Adresse IP IE, utilisation de swap, utilisation de la memory, etc. L'une des autres choses qui me clignote est System Load. Maintenant, la plupart du time, le numéro de chargement du système est <0,10, mais d'autres fois, je l'ai vu jusqu'à 0,89 (généralement autour du démarrage).

Cela soulève la question, à quel point la charge du système peut-elle être élevée? Par exemple, est-il possible de monter jusqu'à 2,00 jusqu'à 100,00?

7 Solutions collect form web for “Dans quelle mesure la charge du système peut-elle être élevée?”

Cela soulève la question, à quel point la charge du système peut-elle être élevée? Par exemple, est-il possible de monter jusqu'à 2,00 jusqu'à 100,00?

Absolument. En regardant la page de manuel de uptime

  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 process en attente d'exécution (ou beaucoup de process bloqués en attente d'E / S), vous aurez une moyenne de charge élevée. Cet article en parle plus en détail et a des liens utiles avec d'autres ressources.

Sur un système déchargé, la moyenne de la charge sera généralement comprise entre 0 <= load_average <= n , où n est le nombre de kernelx sur votre système.

J'ai vu des systèmes vivants bash les milliers. Load Average est une mesure relative basée sur les process d'attente de la concurrency qu'il y a pour attirer l'attention des kernelx et de leur accorder un certain time sur la CPU. Si la machine est inondée de travaux ou de panne, cela peut prendre beaucoup de time.

Ce niveau acceptable dépend de la machine, du nombre de kernelx, du type de planificateur de tâches du kernel en cours d'utilisation et des tâches que vous attendez à ce qu'il fasse. J'ai quelques machines qui sont très satisfaites dans la gamme ~ 10, mais bog down si elles ont frappé ~ 40-50. D'autres deviennent nettement lacunés à 2 ans et seraient inutilisables à 10 ans.

Il n'est pas inhabituel que la charge soit très dudissante, car beaucoup de choses se font à la fois et la machine se débrouille. Je considérerais ~ 1 une charge assez normale pour bash le démarrage pour un Linux de bureau, puis régler vers le bas à ~ 0.1 tout en ne faisant rien.

Sur Linux, les valeurs moyennes de la charge du système sont constituées de process dans l'un des trois états différents. En général, on pourrait dire que la moyenne de la charge est la quantité de process en attente de time CPU ou de time CPU consommateur. Les trois valeurs dans l'aperçu moyen de la charge sont la moyenne de charge au cours des dernières minutes, les 5 dernières minutes et les 15 dernières minutes.

Les trois états différents de process comptabilisés en fonction de la moyenne de charge sont: (1) les process exécutés sur la CPU, (2) les process attendant le time CPU et (3) les process en sumil ininterromptable. La dernière catégorie, tout en ne générant pas de charge de la CPU, peut augmenter significativement la charge du système.

Par exemple, une douzaine de process en attente de lectures à partir d'un disque très occupé ou indisponible généreront une moyenne de charge de 12 en tant que process en mode sumil ininterrompue, mais votre CPU peut être parfaitement inactive entre-time.

Donc, oui, la moyenne de charge peut facilement passer à deux numbers. Quelle défaite est plutôt dépendante de votre matériel. Si vous avez 16 kernelx, avoir 16 process en attente de time CPU n'est pas si grave. Sur une seule machine centrale, 3 process en attente de time CPU peuvent être très mauvais.

Quelques secondes après avoir tué un process qui mangeait un ancien processeur de 450 Mhz:

entrez la description de l'image ici

Lorsque vous démarrez à plusieurs resockets des process qui se bloquent immédiatement, la charge sera aussi élevée que le nombre de process que vous parvenez à commencer. En supposant que vous disposez d'une RAM suffisante pour que le système ne change pas, le système restra sensible même car la charge due aux process de blocage n'est pas vraiment dangereuse.

Créez un process C simple exécutant des loops infinies en 10000 threads. Donnez-lui une très faible priorité (+20). Votre chargement sera de 10000, alors que votre système sera toujours utilisable. Il utilisera seulement une très petite RAM (au plus quelques mégaoctets).

Bien qu'il s'agisse d'une configuration assez rare, dans des systèmes réels, vous ne findez pas cela.

La charge du système ne signifie que le nombre moyen de process en attente d'un intervalle de time CPU, pas plus et plus. Voici une autre réponse à propos de la manière appropriée d'interpréter la charge du système .

Dans l'expérience quotidienne, une charge de plus de 30 ans signifie surtout un problème.

J'ai vu un server fonctionnant à> 200 de charge.

Je voudrais souligner le test et voir.

  • Expliquez en anglais simple quel est LXC et pour ce qu'il est utile
  • Problèmes de SSH: lecture de socket échoué: Réinitialisation de connexion par pair
  • Mise en miroir de files entre servers avec une latence minimale
  • Développer ZFS sur MDRaid?
  • Mode recommandé pour restreindre les users d'Apache
  • Tous les servers virtuels desservant les files par défaut d'Apache
  • En utilisant une machine virtuelle GNU / Linux via SSH sur Internet, est-ce sûr?
  • Déterminez les applications exécutées lors du démarrage
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.