Echtzeit-Überwachung von Prozessen
Während der ps-Befehl einen Momentaufnahme der laufenden Prozesse liefert, müssen Sie manchmal Prozesse kontinuierlich überwachen. In diesem Schritt werden wir Tools für die Echtzeit-Überwachung von Prozessen kennenlernen.
Verwenden des top-Befehls
Der top-Befehl bietet eine dynamische Echtzeitansicht des laufenden Systems. Er zeigt sowohl Systemzusammenfassungsinformationen als auch eine Liste der aktuell vom Linux-Kernel verwalteten Prozesse oder Threads an.
Führen Sie den folgenden Befehl aus:
top
Sie werden etwas wie Folgendes sehen:
top - 17:15:23 up 30 min, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 31 total, 1 running, 30 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 1975.1 total, 1558.7 free, 180.4 used, 236.1 buff/cache
MiB Swap: 975.0 total, 975.0 free, 0.0 used. 1651.3 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 8988 3208 2556 S 0.0 0.2 0:00.07 init.sh
22 root 20 0 39528 8596 6088 S 0.0 0.4 0:00.20 supervisord
23 root 20 0 12128 6788 5864 S 0.0 0.3 0:00.00 sshd
...
Die Ausgabe ist in zwei Teile aufgeteilt:
- Systemzusammenfassung (erste 5 Zeilen)
- Prozessliste (standardmäßig sortiert nach CPU-Nutzung)
Um top zu beenden, drücken Sie die Taste q.
Verständnis der top-Ausgabe
Die Systemzusammenfassung liefert:
- Systemlaufzeit und Lastdurchschnitte
- Anzahl der Prozesse nach Zustand (laufend, schlafend, angehalten, Zombie)
- Aufschlüsselung der CPU-Nutzung
- Speicher- und Swap-Nutzung
Die Prozessliste zeigt:
- PID: Prozess-ID
- USER: Benutzerbesitzer
- PR: Priorität
- NI: Nice-Wert
- VIRT: Verwendeter virtueller Speicher
- RES: Verwendeter Resident-Speicher
- SHR: Gemeinsam genutzter Speicher
- S: Prozesszustand
- %CPU: CPU-Nutzung
- %MEM: Speichernutzung
- TIME+: Verbrauchte CPU-Zeit
- COMMAND: Befehlsname
Interaktive Befehle in top
Während top läuft, können Sie verschiedene Tastaturbefehle verwenden, um mit ihm zu interagieren:
- Drücken Sie
M, um nach Speichernutzung zu sortieren
- Drücken Sie
P, um nach CPU-Nutzung zu sortieren
- Drücken Sie
k und geben Sie dann eine PID ein, um einen Prozess zu beenden
- Drücken Sie
h für die Hilfe
Versuchen Sie, während der Ausführung von top die Taste M zu drücken, um die Prozesse nach Speichernutzung sortiert zu sehen.
Verwenden des watch-Befehls mit ps
Ein anderer Ansatz zur Echtzeitüberwachung ist die Verwendung des watch-Befehls mit ps. Dieser führt einen Befehl in regelmäßigen Abständen aus und zeigt die Ausgabe an, sodass Sie die Änderungen im Laufe der Zeit beobachten können.
watch -n 1 'ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu | head -n 6'
Dieser Befehl aktualisiert die Anzeige alle 1 Sekunde und zeigt die fünf Prozesse mit der höchsten CPU-Nutzung an.
Um watch zu beenden, drücken Sie Ctrl+C.
Die Kombination von ps mit Tools wie watch gibt Ihnen leistungsstarke Möglichkeiten zur Echtzeitüberwachung der Prozesse auf Ihrem System.