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

Der Linux-Befehl top ist einer der treuen Begleiter von Unix-ähnlichen Betriebssystemen. Sein nützliches Display ist vollgepackt mit nützlichen Informationen über die laufenden Prozesse und die Ressourcennutzung Ihres Systems. Aber wussten Sie, dass es auch Farben, Hervorhebungen und sogar elementare Grafiken unterstützt?

Ein mit Informationen gefülltes Dashboard

Das oberste Kommando gibt es seit 1984, und es gibt viele Varianten davon. Für diesen Artikel verwenden wir Ubuntu 18.04 mit allen angewendeten Patches und Version 3.3.12 von oben. Wir haben auch alles auf zwei anderen Testcomputern querverwiesen, auf einem läuft Fedora und auf dem anderen Manjaro.

Das standardmäßige Top-Display packt so viele Informationen wie möglich in das Terminalfenster. Informationen sind eine Voraussetzung für die Verwaltung, also ist dies eine gute Sache. Eine der Eigenschaften eines guten Systemadministrators ist die Fähigkeit, aufkommende Probleme zu erkennen und sie zu lösen, bevor sie den Service beeinträchtigen. top bietet Ihnen ein Dashboard mit vielen verschiedenen Systemmetriken, die Ihnen dabei helfen.

Das Display lässt sich am besten als funktional und nicht als intuitiv beschreiben, und es gibt viele Abkürzungen. Wenn Sie Top zum ersten Mal begegnen, fühlt es sich beengt, kryptisch und abstoßend an. Mit wenigen Tastendrücken können Sie jedoch den Inhalt und das Format des Displays nach Ihren Wünschen einstellen.

Überprüfen Sie Ihre Version von top

Um zu überprüfen, welche Version von top Sie haben, geben Sie Folgendes in ein Terminalfenster ein:

top -v

Wenn Ihre Version weit hinter 3.3.12 zurückliegt, unterstützt sie möglicherweise nicht alle Funktionen, die wir behandeln werden.

Die Standardanzeige

Sie können oben beginnen, indem Sie Folgendes eingeben und „Enter“ drücken:

top

Die Standardanzeige enthält zwei Informationsbereiche: den Zusammenfassungsbereich (oder Dashboard) und den Aufgabenbereich (oder die Prozessliste). Standardmäßig aktualisiert top seine Anzeige alle drei Sekunden – Sie werden dabei ein leichtes Flackern bemerken.

Die erste Zahlenzeile im Dashboard enthält die Zeit, die Betriebsdauer Ihres Computers, die Anzahl der angemeldeten Personen und die durchschnittliche Auslastung der letzten ein, fünf und 15 Minuten. Die zweite Zeile zeigt die Anzahl der Tasks und deren Status: Running, Stopped, Sleeping oder Zombie.

In der dritten Zeile werden die folgenden Werte der Zentraleinheit (CPU) angezeigt:

us: Zeit, die die CPU damit verbringt, Prozesse für Personen im „Benutzerbereich“ auszuführen.
sy: Zeit, die damit verbracht wird, System-Kernel-Speicher-Prozesse auszuführen.
ni: Zeit, die für die Ausführung von Prozessen mit einem manuell eingestellten Wert netto aufgewendet wird.
id: Menge der CPU-Leerlaufzeit.
wa: Die Zeit, die die CPU damit verbringt, auf den Abschluss der E/A zu warten.
hi: Zeitaufwand für die Wartung von Hardware-Interrupts.
si: Zeitaufwand für die Wartung von Software-Interrupts.
st: Zeitverlust durch laufende virtuelle Maschinen („steal time“).

Die vierte Zeile zeigt den Gesamtbetrag (in kibibyte) des physischen Speichers und wie viel frei ist, verwendet und gepuffert oder zwischengespeichert wird.

Die fünfte Zeile zeigt die Gesamtmenge (auch in Kibibytes) des Swap-Speichers und wie viel frei, verwendet und verfügbar ist. Letzteres beinhaltet Speicher, von dem erwartet wird, dass er aus Caches wiederherstellbar ist.

Die Spaltenüberschriften in der Prozessliste lauten wie folgt:

PID: Prozess-ID.
USER: Der Eigentümer des Prozesses.
PR: Prozesspriorität.
NI: Der schöne Wert des Prozesses.
VIRT: Vom Prozess verwendete virtuelle Speichermenge.
RES: Vom Prozess verwendeter residenter Speicher.
SHR: Vom Prozess verwendete Menge des gemeinsam genutzten Speichers.
S: Status des Prozesses. (Die Werte, die dieses Feld annehmen kann, finden Sie in der Liste unten).
%CPU: Der Anteil der vom Prozess seit der letzten Aktualisierung verwendeten CPU-Zeit.
%MEM: Der Anteil des verwendeten physischen Speichers.
TIME+: Gesamte CPU-Zeit, die von der Aufgabe verwendet wird, in Hundertstelsekunden.
BEFEHL: Der Befehlsname oder die Befehlszeile (Name + Optionen).

  So steuern Sie den sudo-Zugriff unter Linux

Speicherwerte werden in Kibibytes angezeigt. Die Spalte COMMAND befindet sich rechts außerhalb des Bildschirms – sie passte nicht in das Bild oben, aber wir werden sie in Kürze sehen.

Der Status des Prozesses kann einer der folgenden sein:

D: Ununterbrochener Schlaf
R: Laufen
S: Schlafen
T: verfolgt (gestoppt)
Z: Zombie

Drücken Sie Q, um oben zu verlassen.

Scrollen im Display

Sie können die Aufwärts- oder Abwärtspfeile, Pos1, Ende und Bild-auf- oder Bild-ab-Taste drücken, um sich nach oben und unten zu bewegen und auf alle Prozesse zuzugreifen.

Drücken Sie den Links- oder Rechtspfeil, um die Prozessliste seitwärts zu verschieben. Dies ist nützlich, um alle Spalten anzuzeigen, die nicht in die Grenzen des Terminalfensters passen.

In der Abbildung unten haben wir den Rechtspfeil einige Male gedrückt, um die Spalte COMMAND anzuzeigen.

Ändern der numerischen Einheiten

Ändern wir die Anzeigeeinheiten auf sinnvolle Werte. Drücken Sie das Großbuchstaben E, um durch die Einheiten zu blättern, die zur Anzeige der Speicherwerte in diesen Optionen verwendet werden: Kibibyte, Mebibyte, Gibibyte, Tebibyte, Pebibyte und Exbibyte. Die verwendete Einheit ist das erste Element in den Zeilen vier und fünf.

Drücken Sie das kleine „e“, um dasselbe für die Werte in der Prozessliste zu tun: Kibibytes, Mebibytes, Gibibytes, Tebibytes und Pebibytes.

Wir haben E gedrückt, um die Speichereinheiten des Dashboards auf Gibibytes einzustellen, und „e“, um die Speichereinheiten der Prozessliste auf Mebibytes einzustellen.

Inhalt der Zusammenfassung ändern

Sie können die Anzeigeeinstellungen für die Linien im Dashboard ändern oder ganz entfernen.

Drücken Sie l, um die Ladeübersichtszeile (die erste Zeile) ein- oder auszuschalten. Wir haben die Ladezusammenfassungszeile im Bild unten entfernt.

Wenn du eine hast Mehrkern-CPU, drücken Sie 1, um die Anzeige zu ändern und individuelle Statistiken für jede CPU anzuzeigen. Auf unserem Computer befinden sich vier CPUs. Wir drücken 1, um zu sehen, wie hart jeder von ihnen arbeitet.

Dies nimmt natürlich mehr Bildschirmfläche innerhalb des Terminalfensters ein.

Sie können „t“ drücken, um die CPU-Anzeigen auf einfach umzuschalten ASCII Diagramme, die den Prozentsatz der Nutzung für jede CPU anzeigen.

Für jede CPU zeigt oben drei Zahlen und das Diagramm an. Von links nach rechts lauten die Zahlen wie folgt:

Der kombinierte us- und ni-Prozentsatz (Benutzerbereich + Aufgaben mit nicht standardmäßigen netten Einstellungen).
Der sy-Prozentsatz (Kernelraum).
Die Summe (auf einen ganzzahligen Wert gerundet).

Drücken Sie erneut „t“, um die Grafikanzeige in Vollblockzeichen zu ändern.

Drücken Sie erneut „t“, um die CPU-Anzeige und die Aufgabenzusammenfassungszeile vollständig zu entfernen.

Drücken Sie „m“, um den Speicher zu durchlaufen und Speicherzeilen durch verschiedene Anzeigeoptionen zu wechseln. Beim ersten Drücken wird die Statistik durch eine ASCII-Grafik ersetzt.

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

Drücken Sie erneut „m“, um die CPU-Leitungen vollständig zu entfernen.

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

  So installieren Sie Funtoo Linux

Farbe und Hervorhebung

Sie können „z“ drücken, um dem Display Farbe hinzuzufügen.

Wenn Sie an top denken, denken Sie wahrscheinlich nicht an farbige Anzeigen und ASCII-Grafiken, aber sie sind direkt integriert.

Drücken Sie „y“, um laufende Aufgaben in der Prozessliste hervorzuheben. Durch Drücken von „x“ wird die Spalte markiert, die zum Sortieren der Prozessliste verwendet wird. Sie können zwischen fetter und umgekehrter Texthervorhebung umschalten, indem Sie „b“ drücken.

Sortieren nach Spalten

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

P: Die %CPU-Spalte.
M: Die %MEM-Spalte.
N: Die PID-Spalte.
T: Die Spalte ZEIT+.

In der Abbildung unten ist die Prozessliste nach der PID-Spalte sortiert.

Sehen Sie sich die vollständige Befehlszeile an

Durch Drücken von „c“ wird die Spalte COMMAND zwischen der Anzeige des Prozessnamens und der vollständigen Befehlszeile umgeschaltet.

Um einen „Baum“ von Prozessen anzuzeigen, die von anderen Prozessen gestartet oder erzeugt wurden, drücken Sie V.

Siehe Prozesse für einen einzelnen Benutzer

Drücken Sie „u“, um die Prozesse für einen einzelnen Benutzer anzuzeigen. Sie werden nach dem Namen gefragt oder UID.

Geben Sie den Namen der UID der Person ein, die Sie überwachen möchten. Wir geben „dave“ ein und drücken „Enter“. Jetzt gehören die einzigen Prozesse im Aufgabenbereich dem Benutzer dave.

Nur aktive Aufgaben anzeigen

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

Aufgaben, die seit dem letzten Update keine CPU verbraucht haben, werden nicht angezeigt.

Legen Sie fest, wie viele Prozesse angezeigt werden sollen

Drücken Sie „n“, um die Anzeige auf eine bestimmte Anzahl von Zeilen zu beschränken, unabhängig davon, ob die Aufgaben aktiv sind. Sie werden aufgefordert, die Anzahl der anzuzeigenden Prozesse einzugeben.

Wir haben 10 eingegeben und die Eingabetaste gedrückt, sodass 10 Prozesse im Aufgabenbereich angezeigt werden.

Renice ein Prozess

Sie können „r“ drücken, um den schönen Wert (Priorität) für einen Prozess zu ändern. Sie werden nach der Prozess-ID gefragt. Drücken Sie einfach die Eingabetaste, um die Prozess-ID der Aufgabe oben im Prozessfenster zu verwenden. Wir geben 7800 ein, was zufällig die Prozess-ID einer Instanz von Firefox ist.

Nachdem Sie die Eingabetaste gedrückt haben, werden Sie aufgefordert, den neuen schönen Wert einzugeben, der auf den Prozess angewendet werden soll. Wir geben 15 ein und drücken dann die Eingabetaste.

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

Töte einen Prozess

Drücken Sie „k“, um einen Prozess zu beenden. Sie werden dann nach der Prozess-ID gefragt, die Sie beenden möchten. Tatsächlich können Sie jedes beliebige Signal an den Prozess senden. Wir werden den Prozess 7879 beenden, der nicht mehr reagiert.

Sie haben die Möglichkeit, das zu sendende Signal einzugeben. Sie können es nach Name oder Nummer angeben. Wenn Sie einfach die Eingabetaste drücken, sendet top das Signal SIGTERM (Kill).

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

Anpassen des Displays

Sie können auch die angezeigten Farben und Spalten anpassen. Wir werden die Farbe für Eingabeaufforderungen ändern, deren Standard rot ist.

Drücken Sie das große Z, um zur Seite mit den Farbeinstellungen zu gelangen. 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, bei denen die Groß-/Kleinschreibung beachtet werden muss:

  So installieren Sie Inkscape unter Linux

S: Übersichtsdatenbereich.
M: Nachrichten und Aufforderungen.
H: Spaltenüberschriften.
T: Aufgabeninformationen in der Prozessliste.

Wir drücken M, um die Aufforderungen 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 jetzt die von Ihnen ausgewählte Farbe.

Wir können auch die im Bildschirm Fields Management angezeigten Spalten ändern. Drücken Sie F, um den Bildschirm Feldverwaltung aufzurufen.

Angezeigte Felder haben ein Sternchen

daneben und sind fett hervorgehoben. Drücken Sie die Aufwärts- und Abwärtspfeile, um die Markierung durch die Liste der Felder zu bewegen.

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

Wir haben die Hervorhebung zum COMMAND-Eintrag verschoben und dann „d“ gedrückt, um das Sternchen zu entfernen

. Wir gingen dann zum UID-Eintrag und drückten „d“, um ein Sternchen neben diesem Eintrag zu platzieren. Dies bedeutet, dass die Spalte COMMAND nicht angezeigt wird, die Spalte UID jedoch.

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

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

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

Alternativer Anzeigemodus

Dies funktioniert am besten im Vollbildmodus. Drücken Sie A, um vier Bereiche in der Prozessliste anzuzeigen, und drücken Sie dann „a“, um von Bereich zu Bereich zu wechseln.

Jeder Bereich hat eine andere Sammlung von Spalten, aber jeder kann auch über den Bildschirm „Feldverwaltung“ angepasst werden. Dies gibt Ihnen die Möglichkeit, eine benutzerdefinierte Vollbildanzeige mit unterschiedlichen Informationen in jedem Bereich zu erhalten und jeden Bereich nach einer anderen Spalte zu sortieren.

Andere Tastenanschläge
Im Folgenden finden Sie einige andere Tasten, die oben nützlich sein könnten:
W: Speichern Sie Ihre Einstellungen und Anpassungen, damit sie beim nächsten Start weiterhin wirksam sind.

d: Legen Sie eine neue Bildwiederholfrequenz fest.

Leertaste: Oben erzwingen, um die Anzeige jetzt zu aktualisieren. Top BananeWie wir gesehen haben, hat top ein ziemliches Repertoire. Andere Programme,

wie htop

, haben sich davon inspirieren lassen, aber jeder hat seine eigene Sicht auf die Dinge.

Allerdings ist top überall verbaut. Wenn Sie zu Unternehmen gehen, um sich Netzwerke oder Server anzuschauen, wird Ihnen oft gesagt, dass auf den Live-Servern absolut nichts geändert werden kann. Der Client macht die Regeln, Sie müssen also verwenden, was bereits installiert ist.

Auch wenn Sie ein anderes Monitoring-Tool bevorzugen, sollten Sie sich top kennenlernen. Früher oder später werden Sie sich wahrscheinlich in einer Situation wiederfinden, in der Sie nur darauf zugreifen können.