GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie hoch darf die Systemlast gehen?

Lösung 1:

Damit stellt sich die Frage, wie hoch darf die Systemlast sein? Ist es zum Beispiel möglich, auf 2,00 oder sogar 100,00 zu steigen?

Unbedingt. Blick auf uptime Manpage:

   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.

Wenn Sie also viele Prozesse haben, die darauf warten, ausgeführt zu werden (oder viele Prozesse blockiert sind, die auf I/O warten), werden Sie einen hohen Lastdurchschnitt haben. Dieser Artikel geht ausführlicher darauf ein und enthält nützliche Links zu anderen Ressourcen.

Auf einem unbelasteten System liegt der Lastdurchschnitt typischerweise im Bereich 0 <=load_average <=n , wobei n ist die Anzahl der Kerne auf Ihrem System.

Lösung 2:

Ich habe gesehen, wie lebende Systeme Tausende erreichten. Lastdurchschnitt ist ein relatives Maß, das auf Warteprozessen basiert und zeigt, wie viel Konkurrenz besteht, um die Aufmerksamkeit des Kernels zu erhalten und etwas Zeit für die CPU zu erhalten. Wenn die Maschine mit Jobs überschwemmt wird oder abstürzt, kann das sehr lange dauern.

Welche Stufe akzeptabel ist, hängt von der Maschine, der Anzahl der Kerne, der Art des verwendeten Kernel-Job-Schedulers und den erwarteten Jobs ab. Ich habe einige Maschinen, die im Bereich von ~10 ziemlich zufrieden sind, aber festfahren, wenn sie ~40-50 erreichen. Andere werden bei 2 merklich verzögert und wären bei 10 unbrauchbar.

Die Belastung beim Hochfahren ist nicht ungewöhnlich, da viele Dinge gleichzeitig erledigt werden und die Maschine hochfährt. Ich würde ~1 als ganz normale Last betrachten, die während des Bootens für ein Desktop-Linux erreicht wird und sich dann auf ~0,1 einpendelt, ohne etwas zu tun.

Lösung 3:

Unter Linux setzen sich die Durchschnittswerte der Systemlast aus Prozessen in einem von drei verschiedenen Zuständen zusammen. Im Allgemeinen könnte man sagen, dass der Lastdurchschnitt die Anzahl der Prozesse ist, die auf CPU-Zeit warten oder CPU-Zeit verbrauchen. Die drei Werte in der Lastdurchschnittsübersicht sind der Lastdurchschnitt über die letzte Minute, die letzten 5 Minuten und die letzten 15 Minuten.

Die drei verschiedenen Status von Prozessen, die für den Lastdurchschnitt gezählt werden, sind:(1) Prozesse, die auf der CPU ausgeführt werden, (2) Prozesse, die auf CPU-Zeit warten, und (3) Prozesse im unterbrechungsfreien Ruhezustand. Die letzte Kategorie erzeugt zwar keine CPU-Last, kann aber die durchschnittliche Systemlast erheblich erhöhen.

Zum Beispiel erzeugen ein Dutzend Prozesse, die auf Lesevorgänge von einer sehr ausgelasteten oder nicht verfügbaren Festplatte warten, eine durchschnittliche Auslastung von 12, da sich Prozesse im ununterbrechbaren Ruhezustand befinden, aber Ihre CPU kann in der Zwischenzeit völlig im Leerlauf sein.

Also, ja, der Lastdurchschnitt kann leicht zweistellig werden. Wie schlimm das ist, hängt eher von deiner Hardware ab. Wenn Sie 16 Kerne haben, ist es nicht so schlimm, dass 16 Prozesse auf CPU-Zeit warten. Auf einem Single-Core-Rechner kann es sehr schlecht sein, 3 Prozesse auf CPU-Zeit warten zu lassen.

Lösung 4:

Erstellen Sie einen einfachen C-Prozess, der Endlosschleifen in 10000 Threads ausführt. Geben Sie ihm eine sehr niedrige Priorität (+20). Ihre Auslastung beträgt 10000, während Ihr System noch nutzbar ist. Es wird nur sehr wenig RAM benötigt (höchstens einige Megabyte).

Obwohl es sich um eine ziemlich ungewöhnliche Konfiguration handelt, werden Sie dies in echten Systemen nicht finden.

Die Systemlast bedeutet nur die mittlere Anzahl von Prozessen, die auf einen CPU-Zeitschlitz warten, nicht weniger und nicht mehr. Hier ist eine weitere Antwort zur richtigen Interpretation der Systemlast.

In der täglichen Erfahrung bedeutet eine Last über 30+ meistens ein Problem.

Lösung 5:

Ein paar Sekunden nach dem Beenden eines Prozesses, der eine alte 450-MHz-CPU frisst:


Linux
  1. Wie kann ich ein Perl-Skript als System-Daemon unter Linux ausführen?

  2. Wie kann ich sicherstellen, dass mein System die Datei ~/.screenrc verwendet?

  3. Hohe System-CPU-Last (%sys), Systemsperren

  4. Wie kann ich disk io überwachen?

  5. Wie kann ich rsync mit einem FAT-Dateisystem verwenden?

So verwenden Sie den htop-Befehl, um Systemprozesse in Echtzeit zu überwachen

So erstellen Sie 100% CPU-Last auf einem Linux-System

So verwenden Sie den PS-Befehl

So überprüfen Sie Ihre Serverlast im Linux-System

So aktualisieren Sie Ubuntu 18.04 auf Ubuntu 20.04

Wie kann ich die Festplattenauslastung unter Linux überwachen?