- Dave McKay
@TheGurkha
- Mai 12, 2020, 8:00 Uhr EDT
Der Linux top
-Befehl gehört zu den Urgesteinen der Unix-artigen Betriebssysteme. Seine utilitaristische Anzeige ist vollgepackt mit nützlichen Informationen über die laufenden Prozesse und die Ressourcenauslastung Ihres Systems. Aber wussten Sie, dass er auch Farben, Hervorhebungen und sogar elementare Graphen unterstützt?
Ein informationsreiches Dashboard
Den top
-Befehl gibt es seit 1984, und es gibt viele Varianten von ihm. Für diesen Artikel verwenden wir Ubuntu 18.04 mit allen Patches und der Version 3.3.12 von top
. Außerdem haben wir alles auf zwei weiteren Testrechnern abgeglichen, auf denen Fedora und Manjaro laufen.
Die Standardanzeige top
packt so viele Informationen wie möglich in das Terminalfenster. Informationen sind eine Voraussetzung für die Administration, also ist das eine gute Sache. Eine der Eigenschaften eines guten Systemadministrators ist die Fähigkeit, aufkommende Probleme zu erkennen und sich mit ihnen zu beschäftigen, bevor sie den Betrieb beeinträchtigen. top
bietet Ihnen ein Dashboard mit vielen verschiedenen Systemmetriken, die Ihnen dabei helfen, genau das zu tun.
Die Anzeige ist am besten als funktional und nicht als intuitiv zu beschreiben, und Abkürzungen gibt es zuhauf. Wenn Sie das erste Mal auf top
stoßen, fühlt es sich verkrampft, kryptisch und abschreckend an. Mit ein paar Tastendrücken können Sie jedoch den Inhalt und das Format der Anzeige auf das abstimmen, was für Sie wichtig ist.
Prüfen Sie Ihre Version von top
Um zu prüfen, welche Version von top Sie haben, geben Sie Folgendes in ein Terminal-Fenster ein:
top -v
Wenn Ihre Version weit hinter 3.3.12 liegt, unterstützt sie möglicherweise nicht alle Funktionen, die wir behandeln werden.
Die Standardanzeige
Sie können top
starten, indem Sie Folgendes eingeben und auf „Enter“ drücken:
top
Die Standardanzeige enthält zwei Informationsbereiche: den Übersichtsbereich (oder Dashboard) und den Aufgabenbereich (oder Prozessliste). Standardmäßig aktualisiert top
seine Anzeige alle drei Sekunden – Sie werden ein leichtes Flackern bemerken, wenn es das tut.
Die erste Zeile der Zahlen auf dem Dashboard enthält die Uhrzeit, wie lange Ihr Computer bereits läuft, die Anzahl der angemeldeten Personen und wie hoch die durchschnittliche Auslastung in den letzten ein, fünf und 15 Minuten war. Die zweite Zeile zeigt die Anzahl der Tasks und deren Status: laufend, gestoppt, schlafend oder Zombie.
Die dritte Zeile zeigt die folgenden Werte der Zentraleinheit (CPU) an:
- us: Menge der Zeit, die die CPU mit der Ausführung von Prozessen für Personen im „Userspace“ verbringt.“
- sy: Menge der Zeit, die mit der Ausführung von Prozessen für das System im „Kernel-Space“ verbracht wird.
- ni: Betrag der Zeit, die mit der Ausführung von Prozessen mit einem manuell eingestellten „nice“-Wert verbracht wird.
- id: Betrag der CPU-Leerlaufzeit.
- wa: Menge der Zeit, die die CPU mit dem Warten auf die Fertigstellung von E/A verbringt.
- hi: Zeit, die für die Bedienung von Hardware-Interrupts aufgewendet wird.
- si: Zeit, die für die Bedienung von Software-Interrupts aufgewendet wird.
- st: Zeit, die durch die Ausführung virtueller Maschinen verloren geht („Steal Time“).
Die vierte Zeile zeigt die Gesamtmenge (in Kibytes) des physischen Speichers und wie viel davon frei, verwendet und gepuffert oder zwischengespeichert ist.
Die fünfte Zeile zeigt die Gesamtmenge (ebenfalls in Kibytes) des Swap-Speichers und wie viel davon frei, verwendet und verfügbar ist. Letzteres schließt Speicher ein, der voraussichtlich aus Caches wiederhergestellt werden kann.
Die Spaltenüberschriften in der Prozessliste lauten wie folgt:
- PID: Prozess-ID.
- USER: Der Besitzer des Prozesses.
- PR: Prozesspriorität.
- NI: Der Nice-Wert des Prozesses.
- VIRT: Menge des vom Prozess verwendeten virtuellen Speichers.
- RES: Menge des vom Prozess verwendeten residenten Speichers.
- SHR: Menge des vom Prozess verwendeten gemeinsamen Speichers.
- S: Status des Prozesses. (Siehe die Liste unten für die Werte, die dieses Feld annehmen kann).
- %CPU: Der Anteil der CPU-Zeit, den der Prozess seit der letzten Aktualisierung verwendet hat.
- %MEM: Der Anteil des verwendeten physischen Speichers.
- TIME+: Die gesamte von der Aufgabe verbrauchte CPU-Zeit in Hundertstelsekunden.
- COMMAND: Der Befehlsname oder die Befehlszeile (Name + Optionen).
Speicherwerte werden in Kibibytes angezeigt. Die Spalte COMMAND
befindet sich rechts außerhalb des Bildschirms – sie passte nicht in das obige Bild, aber wir werden sie gleich sehen.
Der Status des Prozesses kann einer der folgenden sein:
- D: Ununterbrochener Schlaf
- R: Laufend
- S: Schlafend
- T: Verfolgt (angehalten)
- Z: Zombie
Drücken Sie Q, um den Prozess zu beenden top
.
Durch die Anzeige blättern
Mit den Pfeiltasten nach oben oder unten, Home, End und Page Up oder Down können Sie sich nach oben und unten bewegen und auf alle Prozesse zugreifen.
Drücken Sie den Pfeil nach links oder rechts, um die Prozessliste seitlich zu bewegen. Dies ist nützlich, um alle Spalten zu sehen, die nicht in die Grenzen des Terminalfensters passen.
Im Bild unten haben wir den rechten Pfeil ein paar Mal gedrückt, um die COMMAND
-Spalte zu sehen.
Ändern der numerischen Einheiten
Lassen Sie uns die Anzeigeeinheiten auf sinnvolle Werte ändern. Drücken Sie den Großbuchstaben E, um die Einheiten für die Anzeige von Speicherwerten in diesen Optionen zu durchlaufen: kibibytes, mebibytes, gibibytes, tebibytes, pebibytes und exbibytes. Die verwendete Einheit ist das erste Element in den Zeilen vier und fünf.
Drücken Sie den Kleinbuchstaben „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 Dashboard-Speichereinheiten auf gibibytes und „e“, um die Prozesslisten-Speichereinheiten auf mebibytes einzustellen.
Ändern der Zusammenfassungsinhalte
Sie können die Anzeigeeinstellungen für die Zeilen im Dashboard ändern oder sie ganz entfernen.
Drücken Sie l, um die Lastzusammenfassungszeile (die erste Zeile) ein- oder auszuschalten. Wir haben die Lastübersichtszeile im Bild unten entfernt.
Wenn Sie eine Multi-Core-CPU haben, drücken Sie 1, um die Anzeige zu ändern und individuelle Statistiken für jede CPU zu sehen. Auf unserem Computer gibt es vier CPUs. Wir drücken 1, um zu sehen, wie hart jede von ihnen arbeitet.
Natürlich nimmt dies mehr Bildschirmfläche innerhalb des Terminal-Fensters ein.
Sie können „t“ drücken, um die CPU-Anzeigen in einfache ASCII-Graphen umzuwandeln, die den Prozentsatz der Auslastung für jede CPU anzeigen.
Für jede CPU zeigt top
drei Zahlen und den Graphen an. Von links nach rechts lauten die Zahlen wie folgt:
- Der kombinierte
us
– undni
-Prozentsatz (Userspace+Tasks mit nicht standardmäßigen netten Einstellungen). - Der
sy
Prozentsatz (Kernel-Speicherplatz). - Die Gesamtsumme (gerundet auf einen ganzzahligen Wert).
Drücken Sie erneut „t“, um die Anzeige des Diagramms auf durchgehende Blockzeichen zu ändern.
Drücken Sie noch einmal „t“, um die CPU-Anzeige und die Task-Zusammenfassungszeile komplett zu entfernen.
Drücken Sie „m“, um die Speicher- und Swap-Speicher-Zeilen durch verschiedene Anzeigeoptionen zu schalten. Beim ersten Drücken wird die Statistik durch eine ASCII-Grafik ersetzt.
Ein weiteres Drücken ändert die Grafik in Blockzeichen.
Drücken Sie noch einmal „m“, um die CPU-Zeilen ganz zu entfernen.
Wenn Sie wollen, können Sie CPU- und Speicher-Grafiken gleichzeitig sehen. Drücken Sie einfach „t“ und „m“, bis Sie die gewünschte Kombination erhalten.
Farbe und Hervorhebung
Sie können „z“ drücken, um der Anzeige Farbe hinzuzufügen.
Wenn Sie an top
denken, denken Sie wahrscheinlich nicht an farbige Anzeigen und ASCII-Grafiken, aber sie sind direkt eingebaut.
Drücken Sie „y“, um laufende Aufgaben in der Prozessliste zu markieren. Drücken Sie „x“, um die Spalte zu markieren, nach der die Prozessliste sortiert ist. Sie können zwischen fettgedruckter und umgekehrter Texthervorhebung umschalten, indem Sie „b“ drücken.
Sortieren nach Spalten
Standardmäßig wird die Prozessliste nach der %CPU
Spalte sortiert. Sie können die Sortierspalte wie folgt ändern:
- P: Die
%CPU
Spalte. - M: Die
%MEM
Spalte. - N: Die
PID
Spalte. - T: Die
TIME+
Spalte.
Im folgenden Bild ist die Prozessliste nach der PID
-Spalte sortiert.
Die vollständige Befehlszeile anzeigen
Durch Drücken von „c“ wird in der Spalte COMMAND zwischen der Anzeige des Prozessnamens und der vollständigen Befehlszeile umgeschaltet.
Um einen „Baum“ von Prozessen zu sehen, die von anderen Prozessen gestartet oder erzeugt wurden, drücken Sie V.
Prozesse für einen einzelnen Benutzer anzeigen
Drücken Sie „u“, um die Prozesse für einen einzelnen Benutzer anzuzeigen. Sie werden nach dem Namen oder der UID gefragt.
Tippen Sie den Namen oder die 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 sehen
Drücken Sie I, um nur aktive Aufgaben zu sehen.
Aufgaben, die seit der letzten Aktualisierung keine CPU verbraucht haben, werden nicht angezeigt.
Wie viele Prozesse anzeigen
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 nach der Anzahl der anzuzeigenden Prozesse gefragt.
Wir haben 10 eingegeben und die Eingabetaste gedrückt, also erscheinen 10 Prozesse im Aufgabenbereich.
Prozess neu bewerten
Sie können „r“ drücken, um den nice-Wert (Priorität) für einen Prozess zu ändern. Sie werden zur Eingabe der Prozess-ID aufgefordert. Drücken Sie einfach die Eingabetaste, um die Prozess-ID des Tasks am oberen Rand des Prozessfensters 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 Nice-Wert für den Prozess einzugeben. Wir geben 15 ein und drücken dann die Eingabetaste.
Der neue nice-Wert wird sofort auf den Prozess angewendet.
Verbunden: So setzen Sie Prozessprioritäten mit nice und renice unter Linux
Prozess beenden
Drücken Sie „k“, um einen Prozess zu beenden. Sie werden dann nach der Prozess-ID gefragt, die Sie töten wollen. Tatsächlich können Sie dem Prozess ein beliebiges Signal senden. Wir werden den Prozess 7879 töten, der aufgehört hat zu antworten.
Sie erhalten die Möglichkeit, das Signal einzugeben, das Sie senden möchten. Sie können es per Name oder Nummer angeben. Wenn Sie einfach die Eingabetaste drücken, sendet top
das SIGTERM
(Kill) Signal.
Sobald Sie die Eingabetaste drücken, wird das Signal an den Prozess gesendet.
Verbunden: Wie man Prozesse vom Linux-Terminal aus beendet
Anpassen der Anzeige
Sie können auch die Farben und Spalten, die angezeigt werden, anpassen. Wir werden die Farbe für die Eingabeaufforderungen ändern, die standardmäßig rot ist.
Drücken Sie die Großbuchstaben Z, um zur Seite mit den Farbeinstellungen zu gelangen. Im oberen Teil des Bildschirms werden die Farben angezeigt, die von den verschiedenen Anzeigeelementen verwendet werden. Um anzugeben, welches Anzeigeelement Sie ändern möchten, drücken Sie eine der folgenden Tasten, wobei die Groß- und Kleinschreibung zu beachten ist:
- 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. Die Eingabeaufforderungen werden nun in der von Ihnen gewählten Farbe angezeigt.
Wir können auch die angezeigten Spalten im Bildschirm „Felderverwaltung“ ändern. Drücken Sie F, um den Bildschirm „Felderverwaltung“ aufzurufen.
Felder, die angezeigt werden, haben ein Sternchen (*
) neben sich und sind fett hervorgehoben. Drücken Sie die Pfeile nach oben und unten, um die Markierung durch die Liste der Felder zu bewegen.
Wenn Sie die Markierung vom unteren Ende einer Spalte wegbewegen, erscheint sie am oberen Ende der nächsten (es sei denn, Sie befinden sich am unteren Ende der letzten Spalte). Wenn Sie die Markierung vom oberen Ende einer Spalte wegbewegen, erscheint sie am unteren Ende der vorherigen (es sei denn, Sie befinden sich am oberen Ende der ersten Spalte).
Wir haben die Markierung auf den Eintrag COMMAND
bewegt und dann „d“ gedrückt, um das Sternchen zu entfernen (*
). Anschließend gehen wir zum Eintrag UID
und drücken „d“, um ein Sternchen neben diesen Eintrag zu setzen. Das bedeutet, dass die COMMAND
-Spalte nicht angezeigt wird, aber die UID
-Spalte schon.
Während die Markierung auf der UID
-Spalte steht, drücken wir „s“, um die Prozessliste nach 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 UID
-Spalte hat die COMMAND
-Spalte ersetzt, und die Prozessliste wird nach ihr 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 ist auch über die Feldverwaltung anpassbar. Dies gibt Ihnen die Möglichkeit, eine bildschirmfüllende, angepasste Anzeige zu haben, die unterschiedliche Informationen in jedem Bereich zeigt, und die Möglichkeit, jeden Bereich nach einer anderen Spalte zu sortieren.
Andere Tastenanschläge
Nachfolgend finden Sie einige weitere Tasten, die Sie in top
nützlich finden könnten:
- W: Speichern Sie Ihre Einstellungen und Anpassungen, so dass sie beim nächsten Start von
top
noch wirksam sind. - d: Stellen Sie eine neue Bildwiederholrate ein.
- Leertaste: Zwingt
top
, die Anzeige sofort zu aktualisieren.
Top Banana
Wie wir gesehen haben, hat top
ein ganz schönes Repertoire. Andere Programme, wie htop
, haben sich davon inspirieren lassen, aber jedes hat seine eigene Sicht der Dinge.
Allerdings ist top
überall installiert. Wenn Sie in Unternehmen gehen, um sich Netzwerke oder Server anzuschauen, wird Ihnen oft gesagt, dass auf den Live-Servern absolut nichts verändert werden kann. Der Kunde macht die Regeln, also muss man das benutzen, was bereits installiert ist.
Auch wenn Sie ein anderes Monitoring-Tool bevorzugen, sollten Sie top
kennenlernen. Früher oder später werden Sie sich wahrscheinlich in einer Situation wiederfinden, in der Sie nur noch darauf zugreifen können.
Dave McKay hat zum ersten Mal mit Computern gearbeitet, als Lochstreifen noch in Mode waren, und seitdem hat er immer programmiert. Nach über 30 Jahren in der IT-Branche ist er nun hauptberuflich Technologie-Journalist. Während seiner Karriere arbeitete er als freiberuflicher Programmierer, Manager eines internationalen Software-Entwicklungsteams, Projektmanager für IT-Services und zuletzt als Datenschutzbeauftragter. Dave ist ein Linux-Evangelist und Open-Source-Befürworter.Read Full Bio “