CPU-Last und CPU-Auslastung Beides kann bis zu einem gewissen Grad die Auslastung einer Maschine widerspiegeln. Die CPU-Auslastungsrate spiegelt die aktuelle CPU-Auslastung wider. Der Grund für die Schwankung besteht darin, dass sich der Prozess, der die CPU-Verarbeitungszeit belegt, möglicherweise im IO-Wartezustand befindet, aber noch nicht zum Warten freigegeben wurde. Die durchschnittliche Auslastung bezieht sich auf die Anzahl der Prozesse, die innerhalb eines bestimmten Zeitraums CPU-Zeit beanspruchen und auf CPU-Zeit warten. Dabei bezieht sich der Prozess, der auf CPU-Zeit wartet, auf den Prozess, der darauf wartet, aufgeweckt zu werden, mit Ausnahme des Prozesses im Wartezustand. Aus der obigen Analyse können wir ersehen, dass eine Maschine sehr wahrscheinlich in einer Situation mit geringer CPU-Auslastung und hoher Belastung ist. Daher sollte die Auslastung der Maschine in Kombination mit beiden betrachtet werden. Aus der tatsächlichen Nutzungsbeobachtung geht hervor, dass meine eigene Dual-Core-Xeon-Maschine mit 2,8 GHz und 2 GB Speicher eine durchschnittliche Auslastung von etwa 50 % hat und die CPU-Auslastung nahe 100 % liegt (die Anwendung hat viele IO-Operationen). In diesem Fall läuft die Anwendung immer noch reibungslos und die tatsächliche Zugriffsverzögerung ist nicht sehr hoch. Wenn die CPU also noch im Leerlauf ist, ist die Verbesserung der IO-Reaktion der Schlüssel zur Reduzierung der Belastung. Viele Leute denken, dass die Maschine sehr beschäftigt ist, wenn die Belastung Dutzende erreicht. Ich denke, wenn die CPU-Auslastung zu diesem Zeitpunkt relativ niedrig ist, erklärt die hohe Belastung das Problem möglicherweise nicht gut. Sobald der von der CPU verarbeitete Prozess abgeschlossen ist, können diese wartenden Prozesse auch sofort eine Antwort erhalten. In diesem Fall sollte die IO-Lese- und Schreibgeschwindigkeit optimiert werden. Wenn die CPU-Auslastung immer über 90 % liegt, auch wenn die durchschnittliche Auslastung nur im einstelligen Bereich liegt (z. B. wenn ein bestimmter Prozess immer ausgeführt wird), ist die Maschine tatsächlich ausgelastet. Tatsächlich wurde im vorherigen Artikel auch geschrieben, dass die CPU-Auslastung niedrig und die Last hoch ist. Der Grund für die niedrige CPU-Auslastung, aber die Last ist sehr hoch, die hohe Last kann IO sein Eine Analogie zur CPU-Auslastung Um festzustellen, ob das System überlastet ist, müssen Sie die wahre Bedeutung der durchschnittlichen Auslastung verstehen. Im Folgenden werde ich versuchen, dieses Problem in der gängigsten Sprache anhand des Artikels „Die CPU-Auslastung von Linux verstehen“ zu erklären. Die Systemlast beträgt 0,5, das heißt, die Hälfte der Brücke ist mit Autos befahren. Eine Systemlast von 1,0 bedeutet, dass sich auf allen Abschnitten der Brücke Autos befinden, die Brücke also „voll“ ist. Allerdings muss festgehalten werden, dass die Brücke bis zu diesem Zeitpunkt noch begehbar war. Die Systemauslastung beträgt 1,7, was bedeutet, dass zu viele Fahrzeuge vorhanden sind und die Brücke bereits vollständig belegt (100 %) ist. Die auf die Brücke wartenden Fahrzeuge machen 70 % der Fahrzeuge auf der Brücke aus. Analog dazu bedeutet eine Systemlast von 2,0, dass die Zahl der auf die Brücke wartenden Fahrzeuge der Zahl der Fahrzeuge auf dem Brückendeck entspricht; eine Systemlast von 3,0 bedeutet, dass die Zahl der auf die Brücke wartenden Fahrzeuge doppelt so groß ist wie die Zahl der Fahrzeuge auf dem Brückendeck. Kurz gesagt: Wenn die Systemlast größer als 1 ist, müssen die nachfolgenden Fahrzeuge warten; je höher die Systemlast, desto länger müssen sie warten, bis sie die Brücke überqueren können. Die Systemauslastung der CPU entspricht grundsätzlich der obigen Analogie. Die Verkehrskapazität der Brücke stellt die maximale Arbeitslast der CPU dar; die Fahrzeuge auf der Brücke sind Prozesse, die darauf warten, von der CPU verarbeitet zu werden. CPU-Auslastung - Multiprozessor Oben sind wir davon ausgegangen, dass Ihr Computer nur über eine CPU verfügt. Was würde passieren, wenn auf Ihrem Computer zwei CPUs installiert wären? Daher zeigen 2 CPUs an, dass die Systemlast 2,0 erreichen kann. An diesem Punkt erreicht jede CPU 100 % ihrer Arbeitslast. Im Allgemeinen beträgt die maximal akzeptable Systemlast für einen Computer mit n CPUs n,0. CPU-Auslastung - Mehrkernprozessoren Chiphersteller integrieren häufig mehrere CPU-Kerne in einer einzigen CPU, was als Multi-Core-CPU bezeichnet wird. Faustregeln zur Systemauslastung Ist 1,0 der Idealwert für die Systemauslastung? Nicht unbedingt. Systemadministratoren lassen oft etwas Spielraum. Wenn dieser Wert 0,7 erreicht, sollten Sie aufpassen. Die Faustregel lautet:
Meine Maschine hat 24 Kerne. Was ist also die entsprechende Auslastung?
Die Antwort ist:
Optimale Beobachtungszeit Die letzte Frage lautet: „Durchschnittliche Systemlast“ gibt drei Durchschnittswerte zurück – 1 Minute Systemlast, 5 Minuten Systemlast, 15 Minuten Systemlast – auf welchen Wert soll ich mich beziehen? Wenn die Systemlast nur 1 Minute lang größer als 1,0 und in den beiden anderen Zeiträumen kleiner als 1,0 ist, deutet dies darauf hin, dass es sich nur um ein vorübergehendes Phänomen handelt und kein ernstes Problem darstellt. Wenn die durchschnittliche Systemlast innerhalb von 15 Minuten größer als 1,0 ist (nach Anpassung der Anzahl der CPU-Kerne), deutet dies darauf hin, dass das Problem weiterhin besteht und es sich nicht um ein vorübergehendes Phänomen handelt. Daher sollten Sie vor allem die „15-Minuten-Systemlast“ beobachten und als Indikator für den Normalbetrieb des Computers nutzen. Das könnte Sie auch interessieren:
|
<<: So entwickeln Sie eine Progressive Web App (PWA)
>>: Detaillierte Erläuterung des Ausführungsplans, Beispiel für einen Befehl in MySQL
Inhaltsverzeichnis 【Code-Hintergrund】 【Code-Imple...
Inhaltsverzeichnis 1. Einleitung 2. Bereitstellun...
In diesem Artikel wird der Verbindungsfehler ECON...
erinnern: IDE-Festplatte: Die erste Festplatte is...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis 1. Verständnis der Gleichheits...
Manchmal ist es schön, ein paar nette Scrollbar-E...
In diesem Artikel wird der spezifische Code von v...
Vorwort Reduce ist eine der neuen herkömmlichen A...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis DATETIME ZEITSTEMPEL Wie man w...
Inhaltsverzeichnis 1. VueRouter 1. Beschreibung 2...
Nginx unterstützt weder verschachtelte if-Anweisu...
Die Datenbank fragt ab, welches Objekt welche Fel...
Inhaltsverzeichnis 1. Verbindungsmanagement 2. Ve...