Ich habe eine 1-Kern-CPU auf meinem PC installiert. Manchmal uptime
zeigt Last> 1. Wie ist das möglich und was bedeutet das?
EDIT: Die Werte gehen auf 2.4
Ich habe eine 1-Kern-CPU auf meinem PC installiert. Manchmal uptime
zeigt Last> 1. Wie ist das möglich und was bedeutet das?
EDIT: Die Werte gehen auf 2.4
Antworten:
Die Auslastung entspricht nicht der CPU-Auslastung. Grundsätzlich ist dies ein Indikator dafür, wie viele Prozesse darauf warten , ausgeführt zu werden.
Einige hilfreiche Links:
htop
für eine schöne "grafische" Übersicht.
uptime
zeigt die Systemlast (nicht genau die CPU-Auslastung), die man uptime
wie folgt beschrieben wird:
Die durchschnittliche Systemlast ist die durchschnittliche Anzahl von Prozessen, die sich entweder in einem ausführbaren oder in einem unterbrechungsfreien Zustand befinden. Ein Prozess in einem ausführbaren Zustand verwendet entweder die CPU oder wartet auf die Verwendung der CPU. Ein unterbrechungsfreier Prozess wartet auf einen E / A-Zugriff, z. B. auf die Festplatte. Die Mittelwerte werden über die drei Zeitintervalle ermittelt. Lastdurchschnitte werden für die Anzahl der CPUs in einem System nicht normalisiert. Ein Lastdurchschnitt von 1 bedeutet, dass ein einzelnes CPU-System die ganze Zeit geladen ist, während es auf einem 4-CPU-System bedeutet, dass es 75% der Zeit im Leerlauf war.
Solange die Auslastung geringer ist als die Anzahl der CPU-Kerne, sollte dies in Ordnung sein. Wenn es höher ist, bedeutet dies, dass Ihr System seine Arbeitslast "in Echtzeit" nicht bewältigen kann. Daher müssen einige Prozesse warten , um die CPU-Zeit (oder den E / A-Zugriff) zu erhalten. Eine Warteschlange wird erstellt.
Wenn Sie eine 2.7-Last haben, bedeutet dies, dass im Durchschnitt (in den letzten 1, 5 oder 15 Minuten, abhängig von dem betrachteten Wert) 2.7-Prozesse parallel ausgeführt werden, aber Sie haben nur 1 Core, also Ihr System ist überlastet. Sie verlangen zu viel davon.
Keine Panik, es könnte kein Problem sein: Sobald die Arbeit beendet ist, werden die Dinge normalerweise wieder normal.
Uptime zeigt die Ausgabe von /proc/loadavg
für Lasten.
Die Manpage von man 5 proc
sagt
/proc/loadavg
The first three fields in this file are load average figures giving
the number of jobs in the run queue (state R) or waiting for disk
I/O (state D) averaged over 1, 5, and 15 minutes.
Sie können also selbst bei einer CPU-Auslastung von 0% eine hohe Auslastung haben. Ein Core kann eine Auslastung von bis zu 100% oder 1% auf Multiprozessorsystemen erzielen.
Siehe auch Hohe CPU-Auslastung während der E / A
ps aux --sort -rss |head -15
Dadurch werden 15 Prozesse sortiert, die am häufigsten vom RSS-Speicher verwendet werden
Dies sortiert auch die am häufigsten verwendeten Prozesse nach CPU und Speicher
ps aux --sort -pid |head -15
Wenn bei einer CPU-Auslastung mehr als eine Warnung angezeigt wird, überprüfen Sie die Prozessliste, um festzustellen, wer von ihnen die meiste CPU- und RAM-Auslastung aufweist
Wenn Sie die am häufigsten verwendeten Prozesse sehen, versuchen Sie zu sehen, mit welchen Dateien sie geöffnet sind
lsof -p [PID_most_used]
Auch wäre es schön, wenn Sie von oben Befehl ouptut geben
load
unterscheidet sich vonload average
. Wie @michas sagte, ist load ein Indikator für die Anzahl der Prozesse, die auf ihre Ausführung warten, aber load average ist die durchschnittliche Systemlast, die über einen bestimmten Zeitraum von 1, 5 und 15 Minuten berechnet wurde.