So verwenden Sie den Linux-Befehl top (und verstehen Sie seine Ausgabe)

Das Top-Kommando in Linux: Mehr als nur eine Prozessanzeige

Der Befehl top ist ein unverzichtbares Werkzeug in der Welt der Unix-ähnlichen Betriebssysteme. Er bietet eine dynamische und detaillierte Übersicht über die Systemaktivität, einschließlich laufender Prozesse und Ressourcenverbrauch. Doch wussten Sie, dass top auch farbige Darstellungen, Hervorhebungen und sogar einfache Grafiken unterstützt?

Ein umfassendes Dashboard

Seit seiner Einführung im Jahr 1984 hat sich der Befehl top stetig weiterentwickelt und ist in zahlreichen Varianten verfügbar. In diesem Artikel beziehen wir uns auf Ubuntu 18.04 mit allen aktuellen Patches und der Version 3.3.12 von top. Wir haben die hier gezeigten Funktionen auch auf anderen Systemen wie Fedora und Manjaro getestet.

Die Standardansicht von top ist darauf ausgelegt, so viele Informationen wie möglich in einem Terminalfenster darzustellen. Für eine effektive Systemverwaltung ist dies von entscheidender Bedeutung. top stellt eine Fülle von Systemmetriken bereit, die es ermöglichen, potenzielle Probleme frühzeitig zu erkennen und zu beheben, bevor sie zu größeren Störungen führen.

Die Benutzeroberfläche von top ist funktional, aber nicht unbedingt intuitiv. Die Fülle an Informationen und Abkürzungen kann auf den ersten Blick überwältigend wirken. Mit ein paar Tastendrücken lässt sich die Darstellung jedoch an Ihre Bedürfnisse anpassen.

Ihre Version von top überprüfen

Um die auf Ihrem System installierte Version von top zu ermitteln, geben Sie folgenden Befehl in Ihr Terminal ein:

top -v

Falls Ihre Version älter als 3.3.12 ist, könnten einige der hier beschriebenen Funktionen nicht verfügbar sein.

Die Standardanzeige

Starten Sie top, indem Sie einfach top in das Terminal eingeben und die Eingabetaste drücken:

top

Die Standardanzeige von top gliedert sich in zwei Hauptbereiche: den zusammenfassenden Bereich (Dashboard) und den Aufgabenbereich (Prozessliste). Standardmäßig aktualisiert top die Anzeige alle drei Sekunden, was als leichtes Flackern wahrgenommen werden kann.

Die erste Zeile des Dashboards zeigt die aktuelle Zeit, die Uptime des Systems, die Anzahl der angemeldeten Benutzer und die durchschnittliche Systemlast der letzten 1, 5 und 15 Minuten an. In der zweiten Zeile werden die Anzahl der Tasks und deren Status (Running, Stopped, Sleeping oder Zombie) dargestellt.

Die dritte Zeile gibt Auskunft über die CPU-Nutzung:

us Zeit, die die CPU für Benutzerprozesse aufwendet.
sy Zeit, die die CPU für Kernelprozesse aufwendet.
ni Zeit, die für Prozesse mit angepassten Prioritäten verwendet wird.
id CPU-Leerlaufzeit.
wa Zeit, die die CPU auf den Abschluss von E/A-Operationen wartet.
hi Zeitaufwand für die Behandlung von Hardware-Interrupts.
si Zeitaufwand für die Behandlung von Software-Interrupts.
st Zeitverlust durch Virtualisierung („steal time“).

Die vierte Zeile zeigt die Gesamtmenge des physischen Speichers an (in Kibibyte) und wie viel davon frei, belegt und gepuffert oder zwischengespeichert ist. In der fünften Zeile werden die Swap-Speicherdaten angezeigt, einschließlich des Gesamtspeichers, der freien Menge, des genutzten Speichers und des verfügbaren Speichers (einschließlich wiederherstellbarer Cache-Daten).

Die Spaltenüberschriften der Prozessliste bedeuten:

PID Prozess-ID.
USER Besitzer des Prozesses.
PR Prozesspriorität.
NI Nice-Wert des Prozesses.
VIRT Virtueller Speicherverbrauch des Prozesses.
RES Residente Speichernutzung des Prozesses.
SHR Verwendeter Shared Memory des Prozesses.
S Status des Prozesses (siehe unten).
%CPU CPU-Nutzung seit der letzten Aktualisierung.
%MEM Anteil des verwendeten physischen Speichers.
TIME+ Gesamt-CPU-Zeit in Hundertstelsekunden.
COMMAND Befehlsname oder Befehlszeile (Name + Optionen).

Speicherwerte werden in Kibibytes dargestellt. Die Spalte COMMAND befindet sich möglicherweise außerhalb des sichtbaren Bereichs, wird aber später gezeigt.

Die möglichen Prozesszustände sind:

D Ununterbrechbarer Schlafzustand.
R Läuft.
S Schlafzustand.
T Verfolgt/Gestoppt.
Z Zombie.

Drücken Sie Q, um top zu beenden.

Navigieren in der Anzeige

Mit den Pfeiltasten (nach oben und unten), den Tasten Pos1, Ende, Bild-auf und Bild-ab können Sie die Prozessliste nach oben und unten scrollen.

Die Pfeiltasten nach links und rechts verschieben die Prozessliste seitwärts, um alle Spalten zu sehen, die nicht im Terminalfenster Platz finden.

Im folgenden Bild haben wir die Pfeiltaste nach rechts mehrmals gedrückt, um die Spalte COMMAND zu sehen.

Ändern der numerischen Einheiten

Sie können die angezeigten Speichereinheiten ändern. Drücken Sie die Taste E (Großbuchstabe), um durch die Einheiten für die Darstellung der Speicherwerte im Dashboard zu wechseln: Kibibyte, Mebibyte, Gibibyte, Tebibyte, Pebibyte und Exbibyte. Die verwendete Einheit wird in der vierten und fünften Zeile angezeigt.

Drücken Sie e (Kleinbuchstabe), um die Einheiten für die Prozessliste zu ändern: Kibibytes, Mebibytes, Gibibytes, Tebibytes und Pebibytes.

Im folgenden Beispiel haben wir E gedrückt, um die Dashbord-Einheiten auf Gibibytes zu ändern, und e, um die Einheiten der Prozessliste auf Mebibytes zu ändern.

Anpassen des Dashboard-Inhalts

Sie können die angezeigten Informationen im Dashboard verändern oder ganz entfernen.

Drücken Sie l, um die Ladezusammenfassungszeile (erste Zeile) ein- oder auszublenden. Im unteren Bild haben wir diese Zeile entfernt.

Wenn Sie eine Mehrkern-CPU haben, drücken Sie 1, um die Anzeige so zu ändern, dass einzelne Statistiken für jede CPU angezeigt werden. Unser Testcomputer hat vier CPUs. Wenn wir 1 drücken, sehen wir die Auslastung jeder einzelnen CPU.

Dies beansprucht natürlich mehr Platz im Terminalfenster.

Durch Drücken von t können Sie die CPU-Anzeigen in einfache ASCII-Diagramme umwandeln, die die Auslastung jeder CPU anzeigen.

Für jede CPU werden drei Zahlen und das Diagramm angezeigt. Von links nach rechts:

Kombinierter us- und ni-Prozentsatz (Benutzerbereich + Aufgaben mit benutzerdefinierten Prioritäten).
Der sy-Prozentsatz (Kernelbereich).
Die Summe (gerundet auf eine ganze Zahl).

Durch erneutes Drücken von t ändert sich die Grafikanzeige in Vollblockzeichen.

Wenn Sie t ein weiteres Mal drücken, wird die CPU-Anzeige und die Aufgaben-Zusammenfassungszeile vollständig entfernt.

Mit m können Sie die Speicheranzeige durch verschiedene Optionen schalten. Beim ersten Drücken werden die Statistiken durch eine ASCII-Grafik ersetzt.

Ein weiteres Drücken ändert die Grafik in Blockzeichen.

Durch erneutes Drücken von m wird die CPU-Anzeige vollständig entfernt.

Sie können CPU- und Speicherdiagramme gleichzeitig anzeigen. Drücken Sie einfach t und m, bis Sie die gewünschte Kombination erhalten.

Farben und Hervorhebung

Sie können die Farbdarstellung in top mit der Taste z aktivieren.

Farbige Anzeigen und ASCII-Grafiken sind in top integriert.

Drücken Sie y, um laufende Aufgaben in der Prozessliste hervorzuheben. Mit x wird die Spalte hervorgehoben, nach der die Prozessliste sortiert ist. Zwischen fetter und invertierter Texthervorhebung wechseln Sie mit der Taste b.

Sortieren nach Spalten

Die Prozessliste wird standardmäßig nach der Spalte %CPU sortiert. Sie können die Sortierspalte ändern, indem Sie auf Folgendes drücken:

P Die Spalte %CPU.
M Die Spalte %MEM.
N Die Spalte PID.
T Die Spalte TIME+.

Im folgenden Bild ist die Prozessliste nach der PID-Spalte sortiert.

Vollständige Befehlszeile anzeigen

Durch Drücken von c wird zwischen der Anzeige des Prozessnamens und der vollständigen Befehlszeile umgeschaltet.

Um eine Prozesshierarchie anzuzeigen, drücken Sie V.

Prozesse eines bestimmten Benutzers anzeigen

Drücken Sie u, um die Prozesse eines bestimmten Benutzers anzuzeigen. Sie werden nach dem Namen oder der UID gefragt.

Geben Sie den Namen oder die UID des Benutzers ein. In unserem Fall geben wir dave ein und drücken die Eingabetaste. Nun zeigt der Aufgabenbereich nur die Prozesse des Benutzers dave.

Nur aktive Prozesse anzeigen

Drücken Sie I, um nur aktive Aufgaben anzuzeigen.

Aufgaben, die seit der letzten Aktualisierung keine CPU-Zeit verbraucht haben, werden nicht angezeigt.

Anzahl der angezeigten Prozesse festlegen

Mit n können Sie die Anzahl der angezeigten Zeilen begrenzen, unabhängig davon, ob die Aufgaben aktiv sind. Sie werden aufgefordert, die gewünschte Anzahl von Prozessen einzugeben.

Wir geben 10 ein und drücken die Eingabetaste, wodurch 10 Prozesse im Aufgabenbereich angezeigt werden.

Priorität eines Prozesses ändern (renice)

Durch Drücken von r können Sie den Nice-Wert (Priorität) eines Prozesses ändern. Sie werden nach der Prozess-ID gefragt. Durch Drücken der Eingabetaste verwenden Sie die Prozess-ID der obersten Aufgabe im Aufgabenbereich. Wir geben 7800 ein, die ID einer Firefox-Instanz.

Nach dem Drücken der Eingabetaste werden Sie aufgefordert, den neuen Nice-Wert einzugeben. Wir geben 15 ein und drücken die Eingabetaste.

Der neue Nice-Wert wird sofort auf den Prozess angewendet.

Prozess beenden (kill)

Mit k können Sie einen Prozess beenden. Sie werden nach der Prozess-ID gefragt, die beendet werden soll. Tatsächlich können Sie jedes beliebige Signal an den Prozess senden. Wir beenden den Prozess 7879, der nicht mehr reagiert.

Sie können das zu sendende Signal angeben, entweder per Name oder per Nummer. Durch Drücken der Eingabetaste sendet top das Signal SIGTERM (Kill).

Sobald Sie die Eingabetaste drücken, wird das Signal an den Prozess gesendet.

Anpassen der Anzeige

Sie können auch die angezeigten Farben und Spalten anpassen. Wir ändern die Farbe für Eingabeaufforderungen, die standardmäßig rot ist.

Drücken Sie Z (Großbuchstabe), um die Seite mit den Farbeinstellungen aufzurufen. Der obere Teil des Bildschirms zeigt die Farben, die von den verschiedenen Anzeigeelementen verwendet werden. Um anzugeben, welches Anzeigeelement Sie ändern möchten, drücken Sie eine der folgenden Tasten (Groß-/Kleinschreibung beachten):

S Zusammenfassungsdatenbereich.
M Meldungen und Eingabeaufforderungen.
H Spaltenüberschriften.
T Aufgabeninformationen in der Prozessliste.

Wir drücken M, um die Eingabeaufforderungen zu ändern.

Um eine Farbe auszuwählen, drücken Sie eine der folgenden Zahlen:

0 Schwarz.
1 Rot.
2 Grün.
3 Gelb.
4 Blau.
5 Magenta.
6 Cyan.
7 Weiß.

Wir drücken 6, um Cyan zu verwenden.

Drücken Sie die Eingabetaste, um Ihre Einstellungen zu speichern. Eingabeaufforderungen haben nun die von Ihnen gewählte Farbe.

Wir können auch die im Bildschirm „Felderverwaltung“ angezeigten Spalten ändern. Drücken Sie F, um den Bildschirm „Felderverwaltung“ aufzurufen.

Angezeigte Felder haben ein Sternchen daneben und werden fett hervorgehoben. Bewegen Sie die Markierung mit den Pfeiltasten nach oben und unten durch die Liste der Felder.

Wenn Sie die Markierung vom unteren Ende einer Spalte wegbewegen, wird sie am oberen Ende der nächsten angezeigt (es sei denn, Sie befinden sich am unteren Ende der letzten Spalte). Wenn Sie sie vom oberen Ende einer Spalte wegbewegen, wird sie am unteren Ende der vorherigen angezeigt (es sei denn, Sie befinden sich am oberen Ende der ersten Spalte).

Wir haben die Markierung zum Eintrag COMMAND bewegt und dann d gedrückt, um das Sternchen zu entfernen.

Danach haben wir den Eintrag UID ausgewählt und d gedrückt, um ein Sternchen hinzuzufügen. Dies bedeutet, dass die Spalte COMMAND nicht mehr angezeigt wird, die Spalte UID jedoch schon.

Während sich die Markierung in der Spalte UID befindet, drücken wir s, um die Prozessliste nach der UID-Spalte zu sortieren.

Drücken Sie die Eingabetaste, um Ihre Einstellungen zu speichern, und dann q, um den Bildschirm „Felderverwaltung“ zu verlassen.

Die Spalte UID hat die Spalte COMMAND ersetzt, und die Prozessliste ist danach sortiert.

Alternativer Anzeigemodus

Dieser Modus funktioniert am besten im Vollbildmodus. Durch Drücken von A werden vier Bereiche in der Prozessliste angezeigt, und durch Drücken von a können Sie zwischen den Bereichen wechseln.

Jeder Bereich hat eine eigene Sammlung von Spalten, die über den Bildschirm „Felderverwaltung“ angepasst werden kann. Dies ermöglicht eine benutzerdefinierte Vollbildansicht mit unterschiedlichen Informationen in jedem Bereich und die Sortierung der Bereiche nach verschiedenen Spalten.

Weitere Tastenbefehle

Hier sind einige andere nützliche Tastenkombinationen für top:

W Speichern der aktuellen Einstellungen und Anpassungen für zukünftige Sitzungen.
d Einstellen der Aktualisierungsrate.
Leertaste Erzwingen einer sofortigen Aktualisierung der Anzeige.

Wie wir gesehen haben, bietet top ein bemerkenswertes Repertoire an Funktionen. Andere Tools wie htop haben sich davon inspirieren lassen, aber jedes bietet eine eigene Sicht auf die Dinge.

top ist jedoch überall verfügbar. Bei der Analyse von Netzwerken oder Servern in Unternehmen kann es vorkommen, dass auf den Live-Servern keine Änderungen möglich sind. In solchen Fällen müssen Sie mit den installierten Werkzeugen arbeiten.

Selbst wenn Sie andere Monitoring-Tools bevorzugen, sollten Sie top kennenlernen. Es ist sehr wahrscheinlich, dass Sie früher oder später in eine Situation geraten, in der top Ihr einziges Werkzeug ist.