Heim > Artikel > Betrieb und Instandhaltung > Grundlegendes zu Linux-CPU-Last und CPU-Auslastung
CPU-Auslastung und CPU-Auslastung
Beides kann bis zu einem gewissen Grad die Auslastung einer Maschine widerspiegeln.
Die CPU-Auslastung spiegelt die aktuelle Auslastung der CPU wider. Der Grund dafür, dass sie zwischen hoch und niedrig schwankt, liegt darin, dass sich der Prozess, der die CPU-Verarbeitungszeit in Anspruch nimmt, möglicherweise im IO-Wartezustand befindet, aber noch nicht in den Wartezustand versetzt wurde.
Der Auslastungsdurchschnitt bezieht sich auf die Anzahl der Prozesse, die CPU-Zeit beanspruchen, und auf Prozesse, die innerhalb eines bestimmten Zeitraums auf CPU-Zeit warten. Die Prozesse, die auf CPU-Zeit warten, beziehen sich hier auf Prozesse, die darauf warten, aktiviert zu werden, mit Ausnahme der Prozesse, die in der Wartephase sind Zustand.
Aus der obigen Analyse geht hervor, dass sich eine Maschine wahrscheinlich in einer Situation mit geringer CPU-Auslastung und hoher Auslastung befindet. Daher sollte die Auslastung der Maschine mit der tatsächlichen Auslastung kombiniert werden , einer Ihrer eigenen Wenn die durchschnittliche Auslastung einer Zhiqiang-Maschine mit 2,8 GHz und 2 GB Speicher etwa 50 % erreicht, liegt die CPU-Auslastung bei nahezu 100 % (die Anwendung hat in diesem Fall viele E/A-Vorgänge). Die Anwendung verläuft recht reibungslos und die tatsächliche Zugriffsverzögerung ist nicht sehr hoch. Wenn die CPU noch im Leerlauf ist, ist die Verbesserung der E/A-Reaktion der Schlüssel zur Reduzierung der Last. Viele Leute denken, dass die Maschine sehr beschäftigt sein wird, wenn die CPU-Auslastung relativ niedrig ist Diesmal kann es sein, dass die hohe Last das Problem nicht sehr gut erklärt. Sobald die von der CPU verarbeiteten Prozesse verarbeitet sind, können auch diese wartenden Prozesse sofort Antworten erhalten. In diesem Fall sollte die Lese- und Schreibgeschwindigkeit von io optimiert werden. Wenn die CPU-Auslastung konstant über 90 % liegt, ist die Maschine tatsächlich bereits ausgelastet, auch wenn die durchschnittliche Auslastung nur im einstelligen Bereich liegt (z. B. weil ein bestimmter Prozess ausgeführt wurde)~
Tatsächlich im Im vorherigen Artikel wurde geschrieben, dass die CPU-Auslastung gering und die Auslastung hoch ist: Die CPU-Auslastung ist gering, aber die Auslastung ist möglicherweise eine Analogie zu IO
CPU-Last
Um festzustellen, ob die Systemlast zu hoch ist, müssen Sie die wahre Bedeutung des Lastdurchschnitts verstehen. Im Folgenden versuche ich, basierend auf dem Artikel „Verstehen der Linux-CPU-Last“, dieses Problem in der gängigsten Sprache zu erklären.
Nehmen Sie zunächst den einfachsten Fall an: Ihr Computer verfügt nur über eine CPU und alle Vorgänge müssen von dieser CPU ausgeführt werden.
Wir können uns diese CPU also genauso gut wie eine Brücke vorstellen. Auf der Brücke gibt es nur eine Fahrspur, und alle Fahrzeuge müssen diese Fahrspur passieren. (Natürlich kann diese Brücke nur für den Verkehr in eine Richtung genutzt werden.)
Die Systemlast ist 0, was bedeutet, dass sich kein einziges Auto auf der Brücke befindet.
Die Systemlast beträgt 0,5, was bedeutet, dass sich auf der Hälfte der Brücke Autos befinden.
Die Systemlast beträgt 1,0, was bedeutet, dass sich auf allen Abschnitten der Brücke Autos befinden, was bedeutet, dass die Brücke „voll“ ist. Allerdings ist zu beachten, dass die Brücke bis zu diesem Zeitpunkt noch für den Verkehr geöffnet war.
Die Systemlast beträgt 1,7, was bedeutet, dass zu viele Fahrzeuge vorhanden sind, die Brücke bereits belegt ist (100 %) und die Fahrzeuge, die darauf warten, auf die Brücke dahinter zu gelangen, 70 % der Fahrzeuge auf der Brücke ausmachen. Analog dazu bedeutet eine Systemlast von 2,0, dass genauso viele Fahrzeuge auf die Brücke warten wie auf dem Brückendeck. Eine Systemlast von 3,0 bedeutet, dass doppelt so viele Fahrzeuge auf die Brücke warten Auf dem Brückendeck stehen Fahrzeuge. 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.
Die Systemlast der CPU entspricht grundsätzlich der obigen Analogie. Die Verkehrskapazität der Brücke ist die maximale Auslastung der CPU; die Fahrzeuge auf der Brücke sind Prozesse, die auf die Verarbeitung durch die CPU warten.
Wenn die CPU bis zu 100 Prozesse pro Minute verarbeitet, bedeutet die Systemlast 0,2, dass die CPU in dieser Minute nur 20 Prozesse verarbeitet. 1,0 bedeutet, dass die CPU in dieser Minute genau 100 Prozesse verarbeitet ist 1,7, was bedeutet, dass zusätzlich zu den 100 Prozessen, die von der CPU verarbeitet werden, 70 Prozesse in der Warteschlange stehen, die auf die Verarbeitung durch die CPU warten.
Damit der Computer reibungslos läuft, ist es am besten, die Systemlast von 1,0 nicht zu überschreiten, damit kein Prozess warten muss und alle Prozesse beim ersten Mal verarbeitet werden können. Offensichtlich ist 1,0 ein kritischer Wert. Wenn dieser Wert überschritten wird, ist das System nicht in optimalem Zustand und Sie müssen eingreifen.
CPU-Auslastung – Multiprozessor
Oben gehen wir davon aus, dass Ihr Computer nur über 1 CPU verfügt. Was passiert, wenn Ihr Computer mit 2 CPUs ausgestattet ist?
2 CPUs bedeuten, dass sich die Rechenleistung des Computers verdoppelt und sich auch die Anzahl der Prozesse, die gleichzeitig verarbeitet werden können, verdoppelt.
Um noch einmal die Brückenanalogie zu verwenden: Zwei CPUs bedeuten, dass die Brücke zwei Fahrspuren hat, was die Verkehrskapazität verdoppelt.
2 CPUs bedeuten also, dass die Systemlast 2,0 erreichen kann, wobei zu diesem Zeitpunkt jede CPU 100 % Arbeitslast erreicht. Im Großen und Ganzen beträgt die maximal akzeptable Systemlast für einen Computer mit n CPUs n.0.
CPU-Auslastung – Multi-Core-Prozessor
Chiphersteller integrieren oft mehrere CPU-Kerne in eine CPU, die als Multi-Core-CPU bezeichnet wird.
In Bezug auf die Systemlast haben Multi-Core-CPUs ähnliche Auswirkungen wie Multi-CPUs. Wenn Sie also die Systemlast berücksichtigen, müssen Sie berücksichtigen, wie viele CPUs dieser Computer hat und wie viele Kerne jede CPU hat. Teilen Sie dann die Systemlast durch die Gesamtzahl der Kerne. Solange die Last auf jedem Kern 1,0 nicht überschreitet, läuft der Computer normal.
Woher wissen Sie, wie viele CPU-Kerne ein Computer hat?
Der Befehl „cat /proc/cpuinfo“ kann CPU-Informationen überprüfen. Der Befehl „grep -c ‚Modellname‘ /proc/cpuinfo“ gibt direkt die Gesamtzahl der Kerne der CPU zurück.
Faustregel für die Systemlast
Ist 1,0 der ideale Wert für die Systemauslastung?
Nicht unbedingt. Wenn dieser Wert 0,7 erreicht, sollte darauf geachtet werden. Als Faustregel gilt:
Wenn die Systemlast dauerhaft über 0,7 liegt, müssen Sie mit der Untersuchung beginnen, wo das Problem liegt, und verhindern, dass sich die Situation verschlimmert.
Wenn die Systemlast weiterhin größer als 1,0 ist, müssen Sie eine Lösung finden, um diesen Wert zu senken.
Wenn die Systemlast 5,0 erreicht, bedeutet das, dass Ihr System ein ernstes Problem hat, lange Zeit nicht reagiert hat oder kurz vor dem Absturz steht. Sie sollten das System diesen Wert nicht erreichen lassen.
Meine Maschine hat 24 Kerne. Was ist also die angemessene Auslastung?
[root@jiangyi01.sqa.zmf /home/ahao.mah/ALIOS_QA]#grep 'model name' /proc/cpuinfo |.
Die Antwort lautet:
[root@jiangyi01.sqa.zmf /home/ahao.mah/ALIOS_QA]#echo "0.7*24" |bc16.8
Beste Beobachtungsdauer
Die letzte Frage „Auslastung durchschnittlich“ liefert insgesamt drei Durchschnittswerte – 1 Minute Systemauslastung, 5 Minuten Systemauslastung, 15 Minuten Systemauslastung – welcher Wert soll referenziert werden?
Wenn die Systemlast in nur 1 Minute größer als 1,0 ist und die anderen beiden Zeiträume kleiner als 1,0 sind, deutet dies darauf hin, dass es sich nur um ein vorübergehendes Phänomen handelt und das Problem nicht schwerwiegend ist.
Wenn die durchschnittliche Systemlast innerhalb von 15 Minuten (nach Anpassung der Anzahl der CPU-Kerne) mehr als 1,0 beträgt, deutet dies darauf hin, dass das Problem weiterhin besteht und kein vorübergehendes Phänomen ist. Als Indikator für den normalen Computerbetrieb sollten Sie daher vor allem die „15-Minuten-Systemlast“ beobachten.
Weitere Linux-Artikel finden Sie in der Spalte Linux-Tutorial, um mehr darüber zu erfahren!
Das obige ist der detaillierte Inhalt vonGrundlegendes zu Linux-CPU-Last und CPU-Auslastung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!