Einführung
Willkommen zum Praktikum über den Linux-Befehl top. In dieser Übung lernen Sie, wie Sie mit dem top-Befehl Systemprozesse und die Ressourcenauslastung in Echtzeit überwachen. Diese Fertigkeit ist für Systemadministratoren, Entwickler und alle, die die Systemleistung verstehen und verwalten müssen, unerlässlich.
Stellen Sie sich vor, Sie sind ein Junior-Systemadministrator, der für die Wartung eines stark ausgelasteten Webservers verantwortlich ist. Es wurde berichtet, dass der Server träge reagiert, und Sie müssen identifizieren, welche Prozesse die meisten Ressourcen verbrauchen. Der Befehl top wird Ihr wichtigstes Werkzeug für diese Untersuchung sein, da er es Ihnen ermöglicht, die Systemaktivität in Echtzeit anzuzeigen und zu analysieren.
Grundlegende Verwendung des top-Befehls
Beginnen wir damit, den Befehl top in seiner einfachsten Form auszuführen. Dies gibt uns eine dynamische Echtzeit-Ansicht der Systemprozesse.
Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:
top
Sie sollten eine Anzeige sehen, die etwa so aussieht:
top - 14:30:23 up 5:10, 1 user, load average: 0.15, 0.22, 0.28
Tasks: 213 total, 1 running, 212 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.0 us, 1.3 system, 0.0 ni, 96.3 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 7824.9 total, 2576.8 free, 2935.0 used, 2313.1 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 4558.1 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1234 user 20 0 3626108 205008 89380 S 2.0 2.6 0:45.85 gnome-shell
5678 user 20 0 859492 51528 38060 S 1.3 0.6 0:10.91 Xorg
9101 user 20 0 722816 36096 29088 S 0.7 0.5 0:05.62 gnome-terminal
Diese Anzeige wird kontinuierlich aktualisiert (standardmäßig alle 3 Sekunden). Lassen Sie uns die Informationen aufschlüsseln:
- Die erste Zeile zeigt die aktuelle Uhrzeit, die Systemlaufzeit (Uptime), die Anzahl der angemeldeten Benutzer und die durchschnittliche Systemlast (Load Average).
- Die zweite Zeile zeigt die Gesamtzahl der Tasks (Prozesse) und deren Status (laufend, schlafend, gestoppt, Zombie).
- Die dritte Zeile zeigt die prozentuale CPU-Auslastung.
- Die vierte und fünfte Zeile zeigen die Belegung des Arbeitsspeichers (RAM) und des Auslagerungsspeichers (Swap).
- Die Tabelle darunter zeigt Informationen zu einzelnen Prozessen, standardmäßig sortiert nach der CPU-Auslastung.
Um top zu beenden, drücken Sie die Taste 'q'.
Sortieren von Prozessen in top
Standardmäßig sortiert top die Prozesse nach der CPU-Auslastung. Sie können diese Sortierung jedoch während des Betriebs ändern. Lassen Sie uns ausprobieren, wie man stattdessen nach der Speichernutzung sortiert.
- Starten Sie den Befehl
top:
top
- Während
topläuft, drücken Sie die Taste 'M' (Großbuchstabe). Dadurch werden die Prozesse nach der Speichernutzung (Resident Set Size) anstatt nach der CPU-Last sortiert.
Sie sollten nun sehen, dass die Prozesse neu geordnet wurden, wobei die speicherintensivsten Prozesse ganz oben in der Liste stehen.
Um wieder nach CPU-Auslastung zu sortieren, drücken Sie die Taste 'P' (Großbuchstabe).
Um nach der Prozess-ID (PID) zu sortieren, drücken Sie die Taste 'N' (Großbuchstabe).
Um die aktuelle Sortierreihenfolge umzukehren, drücken Sie 'R' (Großbuchstabe).
Denken Sie daran, dass Sie jederzeit 'h' oder '?' drücken können, während top läuft, um ein Hilfefenster mit allen verfügbaren Befehlen anzuzeigen.
Beenden Sie top durch Drücken von 'q', wenn Sie fertig sind.
Ändern des Aktualisierungsintervalls
Standardmäßig aktualisiert top seine Anzeige alle 3 Sekunden. Sie können dieses Intervall jedoch anpassen. Lassen Sie uns einstellen, dass die Anzeige jede Sekunde aktualisiert wird, um schnellere Änderungen zu sehen.
Starten Sie top mit der Option -d:
top -d 1
Die Anzeige sollte sich nun wesentlich häufiger aktualisieren. Dies ist nützlich, wenn Sie kurzlebige Prozesse erfassen möchten oder schnelle Schwankungen in der Systemaktivität beobachten müssen.
So ändern Sie das Aktualisierungsintervall, während top bereits läuft:
- Drücken Sie 'd' (Kleinbuchstabe).
- Geben Sie die neue Verzögerung in Sekunden ein (z. B. '0.5' für eine halbe Sekunde).
- Drücken Sie die Eingabetaste (Enter).
Beachten Sie, dass sehr kurze Intervalle selbst eine spürbare CPU-Last verursachen können, setzen Sie diese also mit Bedacht ein.
Beenden Sie top durch Drücken von 'q'.
Prozesse eines bestimmten Benutzers anzeigen
Als Systemadministrator müssen Sie oft die Prozesse eines ganz bestimmten Benutzers überwachen. Der Befehl top ermöglicht dies auf einfache Weise.
Überwachen wir die Prozesse für den aktuellen Benutzer (in dieser Laborumgebung ist dies 'labex'):
top -u labex
Nun sollten nur noch Prozesse angezeigt werden, die dem Benutzer 'labex' gehören.
Diese Funktion ist besonders hilfreich bei der Fehlersuche, wenn Probleme auf die Aktivitäten eines bestimmten Benutzers zurückzuführen sind oder wenn Sie sich in einem Mehrbenutzersystem auf Ihre eigenen Prozesse konzentrieren möchten.
Beenden Sie top durch Drücken von 'q'.
Nur aktive Prozesse anzeigen
Manchmal möchten Sie sich nur auf die aktiven Prozesse konzentrieren und untätige (idle) Prozesse ignorieren. top bietet hierfür eine Option.
Starten Sie top mit der Option -i:
top -i
Dieser Befehl zeigt nur aktive Prozesse an und filtert alle Prozesse heraus, die seit der letzten Aktualisierung keine CPU-Leistung beansprucht haben.
Dies ist sehr nützlich, um schnell zu identifizieren, welche Prozesse aktuell Ressourcen verbrauchen, ohne von einer langen Liste inaktiver Prozesse abgelenkt zu werden.
Beenden Sie top durch Drücken von 'q'.
Zusammenfassung
Herzlichen Glückwunsch! Sie haben dieses Praktikum zur Verwendung des top-Befehls für die Echtzeit-Systemüberwachung abgeschlossen. Hier ist eine Zusammenfassung dessen, was Sie gelernt haben:
- Grundlegende Verwendung des
top-Befehls zur Anzeige von Systemprozessen und Ressourcenauslastung. - Sortieren von Prozessen nach verschiedenen Kriterien (CPU-Last, Speichernutzung, PID) innerhalb der laufenden Anwendung.
- Ändern des Aktualisierungsintervalls von
topfür häufigere oder seltenere Updates. - Überwachung der Prozesse eines spezifischen Benutzers.
- Anzeige von ausschließlich aktiven Prozessen durch Ausfiltern untätiger Tasks.
Diese Fähigkeiten sind von unschätzbarem Wert für die Überwachung und Verwaltung von Systemressourcen, insbesondere in Szenarien, in denen Sie Leistungsengpässe identifizieren oder Systemprobleme beheben müssen.
Hier sind einige zusätzliche Optionen und interaktive Befehle für top, die wir in diesem Praktikum nicht behandelt haben:
-b: Batch-Modus (nützlich, um die Ausgabe an andere Programme oder in Dateien umzuleiten).-n: Anzahl der Iterationen, bevortopsich automatisch beendet.- 'k': Einen Prozess (über die PID) direkt aus
topheraus beenden (kill). - 'r': Die Priorität (Nice-Wert) eines Prozesses ändern (renice).
- 'c': Umschalten zwischen der Anzeige des Befehlsnamens und der vollständigen Befehlszeile.
- 'V': Versionsinformationen anzeigen.
Denken Sie daran, dass eine effektive Systemüberwachung entscheidend für die Stabilität und Leistung Ihres Systems ist. Der regelmäßige Einsatz von top hilft Ihnen, ressourcenbezogene Probleme zu erkennen und zu verhindern, bevor sie die Systemleistung erheblich beeinträchtigen.



