Linux top-Befehl: Echtzeit-Systemüberwachung

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Willkommen in der Übung zum Linux-Befehl top. In dieser Übung lernen Sie, wie Sie den top-Befehl verwenden, um Systemprozesse und die Ressourcenauslastung in Echtzeit zu überwachen. Diese Fähigkeit ist für Systemadministratoren, Entwickler und alle, die die Systemleistung verstehen und verwalten müssen, unerlässlich.

Stellen Sie sich vor, Sie sind ein junger Systemadministrator, der für die Wartung eines stark frequentierten Webservers verantwortlich ist. Es wurde gemeldet, dass der Server langsam läuft, und Sie müssen herausfinden, welche Prozesse die meisten Ressourcen verbrauchen. Der top-Befehl wird Ihr Hauptwerkzeug für diese Untersuchung sein und Ihnen ermöglichen, die Systemaktivität in Echtzeit anzuzeigen und zu analysieren.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/SystemInformationandMonitoringGroup -.-> linux/top("Task Displaying") subgraph Lab Skills linux/top -.-> lab-388500{{"Linux top-Befehl: Echtzeit-Systemüberwachung"}} end

Grundlegende Verwendung des top-Befehls

Beginnen wir damit, den top-Befehl in seiner einfachsten Form auszuführen. Dies gibt uns eine Echtzeit- und dynamische Ansicht der Systemprozesse.

Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:

top

Sie sollten eine Anzeige ähnlich der folgenden sehen:

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 analysieren, was wir sehen:

  1. Die erste Zeile zeigt die aktuelle Uhrzeit, die Systemlaufzeit, die Anzahl der Benutzer und die durchschnittliche Systemauslastung (load average).
  2. Die zweite Zeile zeigt die Gesamtzahl der Aufgaben und ihren Status (laufend, schlafend, gestoppt, Zombie).
  3. Die dritte Zeile zeigt die CPU-Auslastung in Prozent.
  4. Die vierte und fünfte Zeile zeigen die Speicher- und Swap-Auslastung.
  5. Die Tabelle unten zeigt Informationen zu einzelnen Prozessen, die standardmäßig nach CPU-Auslastung sortiert sind.

Um top zu beenden, drücken Sie 'q'.

Sortieren von Prozessen in top

Standardmäßig sortiert top die Prozesse nach CPU-Auslastung. Sie können diese Sortierung jedoch in Echtzeit ändern. Lassen Sie uns untersuchen, wie man stattdessen nach Speicherauslastung sortiert.

  1. Führen Sie den top-Befehl aus:
top
  1. Sobald top läuft, drücken Sie die Taste 'M' (Großbuchstabe). Dadurch werden die Prozesse anstelle der CPU-Auslastung nach Speicherauslastung (resident set size) sortiert.

Sie sollten jetzt sehen, dass die Prozesse neu geordnet sind, wobei die speicherintensivsten Prozesse oben auf der Liste stehen.

  1. Um wieder nach CPU-Auslastung zu sortieren, drücken Sie die Taste 'P' (Großbuchstabe).

  2. Um nach Prozess-ID (PID) zu sortieren, drücken Sie die Taste 'N' (Großbuchstabe).

  3. Um die aktuelle Sortierreihenfolge umzukehren, drücken Sie 'R' (Großbuchstabe).

Denken Sie daran, dass Sie während der Ausführung von top immer 'h' oder '?' drücken können, um einen Hilfebildschirm mit allen verfügbaren Befehlen anzuzeigen.

Beenden Sie top, indem Sie 'q' drücken, wenn Sie mit der Exploration fertig sind.

Ändern des Aktualisierungsintervalls

Standardmäßig aktualisiert top seine Anzeige alle 3 Sekunden. Sie können dieses Intervall jedoch ändern. Legen Sie es auf eine Aktualisierung alle 1 Sekunde fest, um häufiger aktualisierte Informationen zu erhalten.

Führen Sie top mit der Option -d aus:

top -d 1

Sie sollten jetzt sehen, dass die Anzeige häufiger aktualisiert wird. Dies kann nützlich sein, wenn Sie kurzlebige Prozesse erfassen möchten oder wenn Sie schnelle Änderungen der Systemaktivität beobachten müssen.

Um das Aktualisierungsintervall während der Ausführung von top zu ändern:

  1. Drücken Sie 'd' (Kleinbuchstabe).
  2. Geben Sie die neue Verzögerung in Sekunden ein (z. B. '0,5' für eine halbe Sekunde).
  3. Drücken Sie die Eingabetaste.

Denken Sie daran, dass sehr kurze Aktualisierungsintervalle selbst erhebliche CPU-Ressourcen verbrauchen können. Verwenden Sie sie daher mit Bedacht.

Beenden Sie top, indem Sie 'q' drücken, wenn Sie fertig sind.

Anzeige der Prozesse eines bestimmten Benutzers

Als Systemadministrator müssen Sie möglicherweise häufig die Prozesse eines bestimmten Benutzers überwachen. Der top-Befehl ermöglicht Ihnen dies einfach.

Lassen Sie uns die Prozesse des aktuellen Benutzers überwachen (in dieser Lab-Umgebung ist dies 'labex'):

top -u labex

Sie sollten jetzt nur die Prozesse sehen, die dem Benutzer 'labex' gehören.

Diese Funktion ist besonders nützlich, wenn Sie Probleme im Zusammenhang mit den Aktivitäten eines bestimmten Benutzers beheben möchten oder wenn Sie sich in einem Mehrbenutzersystem auf Ihre eigenen Prozesse konzentrieren möchten.

Beenden Sie top, indem Sie 'q' drücken, wenn Sie mit der Beobachtung fertig sind.

Anzeige nur aktiver Prozesse

Manchmal möchten Sie sich möglicherweise nur auf aktive Prozesse konzentrieren und inaktive Prozesse ignorieren. Der top-Befehl bietet hierfür eine Option.

Führen Sie top mit der Option -i aus:

top -i

Dieser Befehl zeigt nur aktive Prozesse an und filtert alle Prozesse aus, die seit der letzten Aktualisierung keine CPU-Auslastung hatten.

Dies kann besonders nützlich sein, wenn Sie feststellen möchten, welche Prozesse derzeit Ressourcen verbrauchen, ohne die Störung durch inaktive Prozesse.

Beenden Sie top, indem Sie 'q' drücken, wenn Sie mit der Beobachtung fertig sind.

Zusammenfassung

Herzlichen Glückwunsch! Sie haben dieses Lab zur Verwendung des top-Befehls für die Echtzeit-Systemüberwachung abgeschlossen. Lassen Sie uns zusammenfassen, was Sie gelernt haben:

  1. Die grundlegende Verwendung des top-Befehls zur Anzeige von Systemprozessen und Ressourcenauslastung.
  2. Wie man Prozesse in top nach verschiedenen Kriterien (CPU-Auslastung, Speicherauslastung, PID) sortiert.
  3. Das Ändern des Aktualisierungsintervalls von top für häufiger oder seltener wiederholte Aktualisierungen.
  4. Die Überwachung der Prozesse eines bestimmten Benutzers.
  5. Die Anzeige nur aktiver Prozesse und das Filtern inaktiver Prozesse.

Diese Fähigkeiten werden für die Überwachung und Verwaltung von Systemressourcen unschätzbar sein, insbesondere in Situationen, in denen Sie Leistungsschneckenecken identifizieren oder Systemprobleme beheben müssen.

Hier sind einige zusätzliche Optionen und interaktive Befehle des top-Befehls, die wir in diesem Lab nicht behandelt haben:

  • -b: Im Batch-Modus ausführen (nützlich zum Senden der Ausgabe an andere Programme oder Dateien)
  • -n: Anzahl der Iterationen, bevor top beendet wird
  • 'k': Ein Prozess (über die PID) innerhalb von top beenden
  • 'r': Die Priorität eines Prozesses ändern (Renice)
  • 'c': Umschalten zwischen der Anzeige des Befehlsnamens und der Befehlszeile
  • 'V': Anzeige der Versionsinformationen

Denken Sie daran, dass eine effektive Systemüberwachung für die Aufrechterhaltung der Systemleistung und -stabilität von entscheidender Bedeutung ist. Die regelmäßige Verwendung des top-Befehls kann Ihnen helfen, ressourcenbezogene Probleme zu erkennen und zu vermeiden, bevor sie die Leistung Ihres Systems erheblich beeinträchtigen.