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.