ps
Befehl (sollte nicht verwendet werden):
- Die CPU-Auslastung wird derzeit als Prozentsatz der Zeit ausgedrückt, die während der gesamten Lebensdauer eines Prozesses für die Ausführung aufgewendet wurde.
top
Befehl (sollte verwenden):
- Der Anteil der Aufgabe an der verstrichenen CPU-Zeit seit der letzten Bildschirmaktualisierung, ausgedrückt als Prozentsatz der gesamten CPU-Zeit.
Verwenden Sie top
um die CPU-Auslastung in Echtzeit zu erhalten (aktuelles kurzes Intervall):
top -b -n 2 -d 0.2 -p 6962 | tail -1 | awk '{print $9}'
wird wie folgt echoen:78.6
-b
:Batch-Modus-n 2
:Anzahl der Iterationen, verwenden Sie2
weil:Wenn Sie es zum ersten Mal ausführen, hat es kein vorheriges Beispiel zum Vergleichen, also sind diese Anfangswerte die Prozentsätze seit dem Booten.-d 0.2
:Verzögerungszeit (in Sekunden, hier 200ms)-p 6962
:Monitor-PIDstail -1
:die letzte Zeileawk '{print $9}'
:die 9. Spalte (die CPU-Auslastungsnummer)
ps -p <pid> -o %cpu,%mem,cmd
(Sie können "cmd" weglassen, aber das könnte beim Debuggen hilfreich sein).
Beachten Sie, dass dies die durchschnittliche CPU-Auslastung des Prozesses über die Zeit, in der er ausgeführt wurde, angibt.
Eine Variante der Antwort von caf:top -p <pid>
Dadurch wird die CPU-Auslastung automatisch aktualisiert, sodass sie gut für die Überwachung geeignet ist.