Jedes Mal, wenn ich mich über SSH bei meinen Servern anmelde, werden mir einige Serverinformationen angezeigt. IE-IP-Adresse, Swap-Nutzung, Speichernutzung usw. Eines der anderen Dinge, die mir auffallen, ist die Systemlast. Die meiste Zeit ist die Systemlastzahl <0,10, aber manchmal habe ich gesehen, dass sie auf 0,89 gestiegen ist (normalerweise um den Start herum).
Dies wirft die Frage auf, wie hoch die Systemlast sein kann. Ist es zum Beispiel möglich, bis zu 2,00 oder 100,00 zu steigen?
100.89
wäre wahrscheinlicher als100.00
Antworten:
Absolut. Blick auf die
uptime
Manpage:Wenn also viele Prozesse auf die Ausführung warten (oder viele Prozesse blockiert sind und auf E / A warten), wird der Durchschnitt der hohen Last hoch sein. Dieser Artikel beschreibt dies ausführlicher und enthält nützliche Links zu anderen Ressourcen.
Auf einem entladenen System liegt der Lastdurchschnitt normalerweise im Bereich von 0 <= Lastdurchschnitt <= n , wobei n die Anzahl der Kerne auf Ihrem System ist.
quelle
Ich habe lebendige Systeme gesehen, die Tausende getroffen haben. Last Durchschnittlich ein relatives Maß, das auf Warteprozessen basiert, wie viel Konkurrenz es gibt, um die Aufmerksamkeit des Kernels zu erregen und etwas Zeit auf der CPU zu haben. Wenn die Maschine mit Jobs überfüllt ist oder abstürzt, kann dies lange dauern.
Welche Stufe akzeptabel ist, hängt von der Maschine, der Anzahl der Kerne, der Art des verwendeten Kernel-Jobplaners und den Jobs ab, die Sie erwarten. Ich habe einige Maschinen, die im Bereich von ~ 10 ziemlich glücklich sind, aber festsitzen, wenn sie ~ 40-50 treffen. Andere werden mit 2 merklich verzögert und wären mit 10 unbrauchbar.
Es ist nicht ungewöhnlich, dass die Ladung hoch ist, da viele Dinge gleichzeitig erledigt werden und die Maschine sich aufwickelt. Ich würde ~ 1 als eine ganz normale Last betrachten, um Durring Boot für ein Desktop-Linux zu starten und mich dann auf ~ 0.1 zu beschränken, ohne etwas zu tun.
quelle
Unter Linux bestehen die Systemlast-Durchschnittswerte aus Prozessen in einem von drei verschiedenen Zuständen. Im Allgemeinen könnte man sagen, dass der Lastdurchschnitt die Anzahl der Prozesse ist, die auf die CPU-Zeit warten oder CPU-Zeit verbrauchen. Die drei Werte in der Lastdurchschnittsübersicht sind der Lastdurchschnitt der letzten Minute, der letzten 5 Minuten und der letzten 15 Minuten.
Die drei verschiedenen Zustände von Prozessen, die zum Lastdurchschnitt gezählt werden, sind: (1) Prozesse, die auf der CPU ausgeführt werden, (2) Prozesse, die auf die CPU-Zeit warten, und (3) Prozesse im unterbrechungsfreien Ruhezustand. Die letzte Kategorie generiert zwar keine CPU-Last, kann jedoch den Durchschnitt der Systemlast erheblich erhöhen.
Beispielsweise generiert ein Dutzend Prozesse, die auf Lesevorgänge von einer Festplatte warten, die sehr ausgelastet oder nicht verfügbar ist, einen Lastdurchschnitt von 12 als Prozesse im unterbrechungsfreien Ruhezustand, aber Ihre CPU kann in der Zwischenzeit vollkommen inaktiv sein.
Ja, der Lastdurchschnitt kann also leicht zweistellig werden. Wie schlimm das ist, hängt eher von Ihrer Hardware ab. Wenn Sie 16 Kerne haben, ist es nicht so schlimm, wenn 16 Prozesse auf die CPU-Zeit warten. Auf einem Single-Core-Computer kann es sehr schlecht sein, wenn 3 Prozesse auf die CPU-Zeit warten.
quelle
Ein paar Sekunden nach dem Beenden eines Prozesses, bei dem eine alte 450-MHz-CPU verbraucht wurde:
quelle
Erstellen Sie einen einfachen C-Prozess, in dem Endlosschleifen in 10000 Threads ausgeführt werden. Geben Sie ihm eine sehr niedrige Priorität (+20). Ihre Last beträgt 10000, während Ihr System weiterhin verwendet werden kann. Es werden nur sehr wenige RAM (höchstens einige Megabyte) benötigt.
Obwohl es sich um eine recht ungewöhnliche Konfiguration handelt, werden Sie diese in realen 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.
quelle
Wenn Sie wiederholt Prozesse starten, die sofort blockieren, ist die Last so hoch wie die Anzahl der Prozesse, die Sie starten können. Angenommen, Sie haben genügend RAM, damit das System nicht austauscht, reagiert das System sogar, da die Last aufgrund von Blockierungsprozessen nicht wirklich schädlich ist.
quelle
Ich habe einen Server gesehen, der mit> 200 ausgelastet ist.
Ich würde Stresstest machen und sehen.
quelle