Wird eine 100%ige CPU- oder 100%ige MEM-Auslastung den Linux-Server instabiler machen? So dass er abstürzt und neu gestartet werden muss.
Denn ich habe gehört:
„Wenn Sie die Verarbeitung auf 90 % der CPU beschränken, verschwenden Sie 10 % der Rechenleistung umsonst.“
Gegen
„Bitte begrenzen Sie die CPU-Auslastung für Ihren Prozess auf unter 90 %, sonst wird das System instabil.“
Welche der Aussagen ist richtig? Sollte das Linux-Betriebssystem nicht Fälle mit hoher Auslastung bewältigen?
Ich verstehe, dass ich auf einem Client-Rechner wahrscheinlich keine 100%ige CPU-Auslastung möchte, da dies Anmeldungen, CLI-Befehle und alle interaktiven Vorgänge verlangsamt. Aber auf einem Server, der alsArbeitsknoten, sollte die CPU-Auslastung 100 % betragen oder unter 100 % begrenzt werden? Dieselbe Frage für MEM.
Antwort1
Ein Server mit 100 % CPU-Auslastung reagiert nicht sehr gut auf neue Aufgaben und kann bei interaktiver Nutzung träge sein, sollte aber weiterhin funktionieren. Arbeitsknoten, die CPU-intensive Aufgaben bei oder nahe 100 % ausführen, sind kein Problem. Bei einem Desktop-PC ist das nicht so sehr der Fall.
Ein Server mit 100 % Arbeitsspeicher beginnt entweder damit, Tasks abzubrechen, oder stürzt ab.
Antwort2
Dies ist eine Frage mit einer komplexen Antwort.
Die kurze Antwort lautet: Nein, eine hohe Ressourcenauslastung führt nicht automatisch dazu, dass der Server instabil wird oder abstürzt. ABER...
Die lange Antwort lautet: Es kommt darauf an. Eine hohe CPU-Auslastung kann beispielsweise zu schlechten Reaktionszeiten, Ressourcenkonflikten und zusammengesetzten Problemen führen, bei denen Anfragen schneller in die Warteschlange gestellt werden, als der Server sie verarbeiten kann. Dies würde den Server effektiv instabil machen.
Auch die Prozesspriorität spielt hier eine wichtige Rolle. Aufgaben mit höherer Priorität erhalten bei der CPU-Zeit den Vorzug, was dazu führen kann, dass Aufgaben mit niedrigerer Priorität nicht genügend Ressourcen zur Verfügung haben und das System dadurch instabil wird.
Andererseits könnte eine CPU-intensive Aufgabe, die absichtlich auf eine niedrige Priorität gesetzt wurde, die ansonsten ungenutzte CPU nutzen, ohne die Systemleistung merklich zu beeinträchtigen. Programme wie Folding@Home nutzen dies, um im Hintergrund zu laufen, ohne den Rest des Systems zu beeinträchtigen.
Eine hohe Speicherauslastung kann zu Swapping führen, was die Serverleistung weiter reduziert und den Server tatsächlich instabil machen kann.
Eine hohe Speicherauslastung kann auch zu Speicherproblemen führen, die dazu führen, dass Prozesse beendet werden. Das macht den Server definitiv instabil und stürzt ab.
Es hängt alles davon ab, was der Server tun soll. Bei einer so hohen Auslastung besteht bei einem Webserver die Gefahr, dass er nicht mehr verwendet werden kann, aber ein Videocodierungsserver würde dies vollkommen ausreichen.
Und dann sind da noch die Probleme mit Stromverbrauch, Wärmeentwicklung, Kühlleistung und so weiter …
Antwort3
Das hängt ganz davon ab, was diese Server tun.
Hier eine Geschichte. Windows, aber trotzdem das Gleiche.
Ich habe einen Software-Agenten, der die CPU eines Servers zu 100 % nutzt. PUNKT. Egal, wie groß er ist. Es handelt sich um einen Statistik-Simulations-Agenten, der Jobs von einem Server entgegennimmt – EINEN PRO KERN – und sie ausführt. Mit niedriger Priorität, wobei ein Kontroll-Thread mit höherer Priorität dafür sorgt, dass sie alle beschäftigt sind.
100 % CPU ein Problem? NEIN. Das ist geplant.
Andererseits wird ein Datenbankserver mit SMART-Speicherverwaltung so viel Speicher wie möglich für die Zwischenspeicherung verwenden und den Speicher bei Bedarf freigeben. Auch das ist kein Problem.