Der Sensor meldet, dass die CPU-Auslastung der Securepoint auf über 100 % liegt. Wie kann das sein?
Lösung:
Die Auslastungswerte sind abhängig von der Zahl der CPU-Kerne. Je mehr Kerne vorhanden sind, desto höher kann die CPU-Auslastung steigen. Dabei gilt grundsätzlich:
100 % Auslastung = 100 % Auslastung bei einer Singlecore-CPU
400 % Auslastung = 100 % Auslastung bei einer Quadcore-CPU (da 4 x 100 %)
Da der Sensor keine Informationen über die Anzahl der vorhandenen Kerne erhält ist es hier notwendig, die maximale Auslastung manuell auf die Anzahl der Kerne abzustimmen. Empfohlen wird dabei, den Schwellwert auf 75 % der jeweiligen Vollauslastung zu setzen. Dadurch sind noch genug Kapazitäten bei Peaks vorhanden.
Ein paar Beispiele:
- Singlecore (1 Kern): 75 % (Vollauslastung bei 100 %)
- Quadcore (4 Kerne): 300 % (Vollauslastung bei 400 %)
- Octacore (8 Kerne): 600 % (Vollauslastung bei 800 %)
Bitte passe daher den Wert für die maximale Auslastung entsprechend an.
Unter "Hintergrund" erfährst Du noch ein paar technische Details hierzu, denn auch diese Werte, die eigentlich eine Vollauslastung darstellen, können unter bestimmten Umständen überschritten werden.
Hintergrund
Die Securepoint verwendet intern eine Linuxschreibweise, die die Komplettauslastung als eine Fließpunktzahl darstellt. Beispielsweise kann der Sensor diese Rückmeldung erhalten:
Der Sensor greift hierbei auf den ersten Wert unter loadavg zurück - denn diese Werte haben verschiedene Bedeutungen:
- Erster Wert: Auslastung im Zeitraum von einer Minute
- Zweiter Wert: Auslastung im Zeitraum von 5 Minuten
- Dritter Wert: Auslastung im Zeitraum von 15 Minuten
In diesem Beispiel besitzt die Securepoint übrigens eine "Intel Xeon CPU des Typs E3-1225 V2". Diese Information erhält der Sensor zwar auch, aber ist die Anzahl der Kerne nicht ohne Recherche oder das Führen einer Sensor-eigenen Datenbank erkennbar.
Durch eine kurze Recherche über eine Suchmaschine kann auf der Webseite von Intel geprüft werden, wie viele Kerne diese CPU hat (hier beispielsweise für die genannte Intel Xeon CPU: https://ark.intel.com/content/www/de/de/ark/products/65733/intel-xeon-processor-e3-1225-v2-8m-cache-3-20-ghz.html ):
Die CPU hat also 4 Kerne, daher kann die maximale Auslastung 400 % betragen - in loadavg-Schreibweise wäre dies also 4.0. Es wäre also sinnvoll, die maximale Auslastung auf 300 % zu setzen, um Probleme frühzeitig zu erkennen.
Auslastung dennoch höher als die maximale Prozentzahl
Dies ist allerdings noch nicht alles, die maximale Auslastung kann in seltenen Fällen auch die 400 % bei der Ausgabe der loadavg übersteigen. Dies tritt aber wesentlich häufiger bei normalen Linux-Systemen auf.
Das bedeutet dann, dass mehr Prozesse ausgeführt werden müssen als aktuell ausgeführt werden können. In diesem Fall werden noch auszuführenden Prozesse in einer Warteschlange eingereiht und abgearbeitet - dies sollte natürlich kein Dauerzustand sein und sollte so bald wie möglich korrigiert werden.
Woher bezieht der Sensor diese Daten?
Der Sensor ruft intern über die SSH den Befehl "system info" (Versionen 11 und neuer) oder "show status" (Version 10 und älter) auf und erhält dadurch die aktuellen Auslastungsdaten. Dies sieht in der Rückmeldung dann so aus:
Aber warum ist bei beispielsweise einer Singlecore der Wert über 1,00?
Die Erklärung hierfür ist recht einfach: Alle Werte, die über den eigentlich zu erwartenden Maximalwert hinaus gehen sind Prozesse, die sich in der Prozesswarteschlange befinden. Am Besten lässt sich dieses Beispiel mit einer Warteschlange an einer Kasse erklären:
- Werte unter 1,00 bedeutet, dass die Warteschlange optimal funktioniert und die Auslastung somit normal ist
- Werte zwischen 1,00 und 1,99 bedeuten, dass die Warteschlange sich derzeit füllt. Wartezeiten erhöhen sich und generell können Prozess-Starts verlangsamt werden.
- Werte ab 3,00 weisen auf Engpässe hin, da die Prozess-Warteschlange sehr groß und die Wartezeiten sehr lang sind. An diesem Punkt wäre beispielsweise ein Neustart des Geräts empfohlen.