AktuellesBetriebssystemeLinuxServer

Bedeutung der Linux CPU Load

load-avarage
load-avarage

Hallo alle miteinander,

ich möchte gerne mal ein Thema anreißen, zu dem ich immer wieder die selben Fragen gestellt bekomme:

Was ist die CPU Load

Oder alternativ die Frage: Was bedeutet die Load. (Load avarage erklärt mittels der Linuxfibel)
Vorab möchte ich kurz verdeutlichen was ich meine. Wenn ihr auf eurem System den folgenden Befehl ausführt bekommt ihr passend dazu eine Ausgabe die wie folgt aussieht:

# uptime

Uebersicht der Load avarage mittels uptime

Hier gibt es nun mehrere Teilausgaben.

a) Zum einen wie lange das System bereits hochgefahren ist (seit 11:38 und 42 Sekunden)
b) Wie viele Benutzer eingeloggt sind (1 user)
c) Load avarage (die CPU Load mit der wir uns beschäftigen)

Die beiden Punkte a) und b) interessieren uns in diesem Bezug recht wenig. Viel mehr möchte ich mich dem Punkt c) widmen und euch erklären, wie dieser sich zusammensetzt..

Load avarage :: Auslastungsdurchschnitt

Bitte was?! Ja genau .. es geht um die durchschnittliche Auslastung des Computer oder des Server in einer bestimmten Zeit. In diesem Fall haben wir folgende Anzeige:

0.54, 0.50, 0.45

Diese 3 Zahlen sagen alle das Selbe aus, aber in einem unterschiedlichen Zeitraum. Zur Definition:

  1. 0.54 – durchschnittliche Auslastung der letzten 60 Sekunden
  2. 0.50 – durchschnittliche Auslastung der letzten 300 Sekunden
  3. 0.45 – durchschnittliche Auslastung der letzten 900 Sekunden

 

Widmen wir uns mal der Frage:

Welche Bedeutung hat die „Load avarage“

Ganz einfach. Es geht um die Auslastung der CPU und der anfallenden Aufgaben, die die CPU abzuarbeiten hat. Da das immer etwas schwierig zu erklären ist und bilder doch mehr als tausend Worte sagen, nutze ich dementsprechend auch lieber kleine Bilder hierfür.

Kleines Gedankenspiel:
Stellen wir uns vor, dass wir eine CPU mit einem Kern haben (also keine Multicore-CPU) – das ist zwar technisch nicht mehr auf dem aktuellen Stand aber für die erste Erklärung ist es deutlich einfacher. Wir nehmen nun diese eine CPU mit einem Kern und vereinfachen uns es noch etwas mehr. Diese eine CPU mit diesem einen Kern ist eine einspurige Straße:

-------------------

-------------------

Wir man sieht ist diese Straße nun offensichtlich Leer. Gehen wir von einer maximalen Auslastung der Straße von 10 Autos aus sieht eine voll ausgelastete nun also so aus (in diesem Fall sind „O“ die Autos):

-------------------
O O O O O O O O O O
-------------------

Diese volle Straße entspricht der Load avarage von 1.00 – das heißt, dass die maximale Kapazität der Aufgaben, die verarbeitet werden können, erreicht ist. 0.01 Auto mehr würden bereits zu einem Stau führen – dieser Stau sorgt dafür, dass alles langsamer wird und irgendwann zum erliegen kommt. Übersetzt bedeutet das, dass wenn die Load  avarage über 1.00 liegt, das System langsam wird.

-------------------
O O O O O O O O O O O <- 1 Auto staut sich - entspricht der Load von 1.10
-------------------

Der Stau wird mit der Zeit immer länger und länger wenn immer mehr und mehr Aufgaben (Autos) hinzukommen.
Da wir aber alle gute Administratoren sind und Reserven mit einrechnen gehen wir von folgender Faustregel aus.

Die Faustregel

Dein System – mit einer CPU und einem Kern – läuft nur dann noch flüssig, wenn du dafür sorgst, dass es gar nicht erst dazu kommen kann.

Load Status Bemerkung
0.00 – 0.70 alles i.O. Bis hierhin besteht kein Handlungsbedarf. Das System hat ausreichend Ressourcen
0.71 – 1.00 prüfen Das System ist außerhalb der Norm – Prozesse und Aufgaben prüfen, ggf. Prozesse outsourcen
1.01 – X.XX kritisch Das System kann die Menge der Aufgaben nicht mehr abarbeiten. Es staut sich!

Wir merken uns nun also, dass die Load zum einen viel über die Auslastung der CPU aussagt, zum anderen aber ein wichtiges Zeichen für Administratoren ist, wann ein System aufgerüstet, getauscht oder gesplittet werden sollte.

Was ist nun mit Multi-Core Prozessoren?

Die Frage kann ich euch ganz einfach beantworten, denn diese ist mindestens so simpel, wie die Erklärung der Load avarage selber. Verdoppelt sich die Anzahl der Kerne, so verdoppeln sich auf die Werte aus der oben stehenden Tabelle. Ich führe das noch kurz etwas aus:

Dual-Core CPU (entspricht einer Load von 1.0):

------------------- 
O O O O O O O
-------------------
O O O
-------------------

Man sieht: Wir haben eine zweispurige Straße. Dementsprechend darf die maximale Load 2.00 betragen. In diesem Beispiel beträgt die Load 1.00 und wie man sehr schön erkennen kann, haben wir noch Platz für weitere 10 Autos, die auf der Straße fahren können.
Die Erweiterung lässt sich also immer weiter treiben.

Quad-Core CPUs haben dementsprechend 4 Straßen und dürfen eine maximale Load von 4.00 anzeigen.

Ich denke, dass das Prinzip klar sein sollte. Tabellarisch sähe das dann so aus:

Dual-Core CPUs:

Load Status Bemerkung
0.00 – 1.40 alles i.O. Bis hierhin besteht kein Handlungsbedarf. Das System hat ausreichend Ressourcen
1.41 – 2.00 prüfen Das System ist außerhalb der Norm – Prozesse und Aufgaben prüfen, ggf. Prozesse outsourcen
2.01 – X.XX kritisch Das System kann die Menge der Aufgaben nicht mehr abarbeiten. Es staut sich!

Quad-Core CPUs:

Load Status Bemerkung
0.00 – 2.80 alles i.O. Bis hierhin besteht kein Handlungsbedarf. Das System hat ausreichend Ressourcen
2.81 – 4.00 prüfen Das System ist außerhalb der Norm – Prozesse und Aufgaben prüfen, ggf. Prozesse outsourcen
4.01 – X.XX kritisch Das System kann die Menge der Aufgaben nicht mehr abarbeiten. Es staut sich!

Aber …

Das beschreibt alles den Idealfall. Ich möchte erwähnen das man als Admin einen Puffer von 0.30 Load einrechnen sollte. Bei Multi-Core Prozessoren (alles ab Quad-Core Prozessoren) verkleinere ich den Puffer persönlich auf 0.20 Load, sodass der Fall des Prüfens bei mir frühestens ab einer Load von 3.20 eintritt. Früher mache ich mir persönlich absolut keine Sorgen. Im Endeffekt müsst ihr aber selber ein Gefühl dafür bekommen und es für die unterschiedlichen Einsatzgebiete eurer Server entscheiden. Ein reiner Webserver, der ein paar Webseiten beinhaltet darf durchaus mehr freie Kapazitäten haben als beispielsweise ein Cloud-Storage-Server, der eher weniger zu tun hat. Wichtig ist aber, dass ihr es im Auge behaltet!.

So einfach .. so wenige wissen es

Ich hoffe, dass ich euch mit diesem Eintrag ein wenig Wissen beibringen konnte und ihr nun ein Auge auf eure Load werft – denn es gibt nichts lästigeres als langsame Services (Webseiten etc) 😉

Schaut euch auch gerne meinen letzten Artikel an ;-P

 

Liebe Grüße

Nico

Leave a comment

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert


Related Articles

OVH Kimsufi KS-A: Das Phantom der Günstig-Server?

Wenn es um günstige dedizierte Server geht, ist OVH mit seiner Kimsufi-Reihe...

Plesk ClamAV unter Debian 12 installieren (postfix free antivirus)

Hallo zusammen, in den letzten Wochen bin ich von LiveConfig auf Plesk...

Counter Strike 2 offiziell bestätigt – Beta Testphase

Es ist offiziell, Counter Strike 2 befindet sich in der beta Testphase....

RustDesk – kostenlose Teamviewer (R)(TM) Alternative

Hi zusammen, ich wurde auf ein nettes Tool aufmerksam gemacht. Das Ganze...