Linux Top Befehl Tutorial für Anfänger (8 Beispiele)

Während der Arbeit auf der Linux-Befehlszeile kann es vorkommen, dass Sie prozessbezogene Details überprüfen möchten, z.B. welcher Prozess am meisten CPU oder Speicher verbraucht? Nun, es gibt einen Befehl mit dem man das ganz einfach machen kann. In diesem Tutorial werden wir dieses Tool anhand einiger leicht verständlicher Beispiele diskutieren.

Aber bevor wir das tun, ist es erwähnenswert, dass alle in diesem Artikel genannten Beispiele auf einem Ubuntu 18.04 LTS-Rechner getestet wurden.

Linux Top-Befehl

Der Befehl top zeigt eine Liste von Prozessen oder Threads an, die derzeit vom Linux-Kernel verwaltet werden, zusammen mit nützlichen Informationen zu diesen. Es folgt die Syntax des Tools:

top [options]

Und hier ist, was die Man Page des Tools darüber sagt:

       The  top  program  provides  a dynamic real-time view of a running
       system.  It can display system summary information as  well  as  a
       list  of processes or threads currently being managed by the Linux
       kernel.  The types of system summary  information  shown  and  the
       types,  order  and size of information displayed for processes are
       all user configurable and that configuration can be  made  persis?
       tent across restarts.

The  program  provides a limited interactive interface for process
manipulation as well as a much more extensive interface  for  per?
sonal  configuration   —  encompassing every aspect of its opera?
tion.

Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine gute Vorstellung davon vermitteln sollen, wie der oberste Befehl funktioniert.

Q1. Wie verwendet man Top?

Ganz einfach, führen Sie einfach den Befehl „top“ ohne jede Option aus:

top

Hier ist die Ausgabe, die es auf meinem System erzeugt hat:

Wie man den Befehl top verwendet

Beachten Sie, dass das, was Sie im Screenshot sehen, nur eine Momentaufnahme der produzierten Echtzeitausgabe ist (die sich nach einem festen Intervall ändert).

Q2. Wie kann man die Ausgabe von Top-Befehlen verstehen?

Beginnen wir mit der ersten Zeile. Es enthält Einträge für (in dieser Reihenfolge), die aktuelle Uhrzeit, die Dauer seit der Inbetriebnahme des Systems, aktive Benutzersitzungen und die durchschnittliche Systemlast (für die letzten 1 Minute, 5 Minuten bzw. 15 Minuten).

Die zweite Zeile enthält Informationen (in dieser Reihenfolge) über die Gesamtzahl der Prozesse, die Anzahl der laufenden Prozesse, die Anzahl der schlafenden Prozesse, die Anzahl der Prozesse, die gestoppt wurden, und die Anzahl der Prozesse im Zombiezustand.

Die dritte Zeile enthält Informationen zur CPU-Auslastung. Im Folgenden finden Sie die Details:

           us, user    : time running un-niced user processes
           sy, system  : time running kernel processes
           ni, nice    : time running niced user processes
           id, idle    : time spent in the kernel idle handler
           wa, IO-wait : time waiting for I/O completion
           hi : time spent servicing hardware interrupts
           si : time spent servicing software interrupts
           st : time stolen from this vm by the hypervisor

Die nächsten beiden Zeilen zeigen Informationen über den RAM- und Swap-Speicherverbrauch. Und schließlich kommen prozessbezogene Informationen, die aus (in dieser Reihenfolge) Prozess-ID, Benutzer, der den Prozess besitzt, Priorität des Prozesses, netter Wert des Prozesses, virtueller, physischer und gemeinsamer Speicher, der vom Prozess verwendet wird, Prozessstatus (Sleeping, Running oder Zombie), CPU- und RAM-Nutzung, Zeit der Aktivität und Befehl, der den Prozess ausgelöst hat, bestehen.

Q3. Wie kann man einen Prozess aus der Top-Ausgabe heraus beenden?

Das ist ziemlich einfach – drücken Sie einfach ‚k‘ und top fragt Sie nach der PID des Prozesses, den Sie töten möchten. Sie werden eine Meldung ähnlich der folgenden sehen, die direkt über der Zeile mit den Prozessspaltenüberschriften erscheint:

PID to signal/kill [default pid = 3397]

Wie man einen Prozess aus der Top-Ausgabe heraus killt

Sie sehen also, dass Sie entweder die Prozess-ID eingeben können oder standardmäßig oben versucht, den ersten Prozess in der Liste zu töten (durch Senden von SIGTERM). Nach dem Senden des Signals wird eine Meldung ähnlich der folgenden ausgegeben.

Send pid 3007 signal [15/sigterm]

Q4. Wie kann man die Priorität eines Prozesses ändern?

Wie bei ‚k‘ für das Töten können Sie ‚r‘ drücken, um die Priorität eines Prozesses zu ändern (oder ihn zu ändern). Das Drücken von’r‘ erzeugt eine Meldung ähnlich der folgenden:

PID to renice [default pid = 3397]

Also entweder eine PID eingeben oder top wird versuchen, die Priorität des ersten Prozesses in der Liste standardmäßig zu erhöhen. Zum Beispiel habe ich eine PID übergeben, und dann hat mich Top nach dem neuen schönen Wert gefragt.

Renice PID 2665 to value

Geben Sie einfach einen Wert ein, und drücken Sie die Eingabetaste, und Sie werden sehen, dass der schöne Wert für den betreffenden Prozess geändert wird.

Q5. Wie kann man die Aktualisierungsrate ändern?

Standardmäßig aktualisiert top die Ausgabe alle 3 Sekunden, aber Sie können dies durch Drücken von’d‘ anpassen. Der Befehl fordert Sie auf, den neuen Verzögerungswert einzugeben:

Change delay from 3.0 to

Geben Sie einfach den Wert ein und drücken Sie die Eingabetaste. Das ist es. Das ist es.

Q6. Wie kann man die Ausgabe des Befehls auf einen Benutzer beschränken?

Standardmäßig zeigt der Befehl top alle Prozesse an. Sie können die Ausgabe jedoch auf einen bestimmten Benutzer beschränken, indem Sie’u‘ drücken.

Which user (blank for all)

Geben Sie einfach den Benutzernamen in die Zeile oben ein und drücken Sie die Eingabetaste, und Sie werden sehen, dass die Ausgabe nur die Prozesse enthält, die dem Benutzer gehören, dessen Namen Sie eingegeben haben.

Zum Beispiel habe ich ‚root‘ eingegeben, und hier ist die Ausgabe:

So beschränken Sie die Ausgabe des obersten Befehls auf einen Benutzer

Q7. Wie kann man den kompletten Befehl für die Anzeige zusammen mit den Argumenten erstellen?

Dies kann durch Drücken von ‚c‘ erreicht werden. Hier ist ein Beispiel:

Wie man den kompletten Befehl für die obere Anzeige zusammen mit den Argumenten erstellt.

So können Sie nun den kompletten Befehlspfad sowie die Befehlszeilenargumente in der Ausgabe sehen.

Q8. Wie erhalte ich Hilfe bei interaktiven Top-Befehlen?

Um Hilfe zu interaktiven Top-Befehlen zu erhalten, drücken Sie ‚h‘. In der Ausgabe sehen Sie die verfügbaren Befehle und was sie tun. Zum Beispiel, hier ist, was auf meinem System auftauchte, als ich h‘ drückte.

Wie man Hilfe mit interaktiven Top-Befehlen erhält

Fazit

Wir haben hier nur an der Oberfläche gekratzt. Der Befehl top bietet noch viel mehr Funktionen. Weitergehende Informationen zum Top Befehl finden sie in dessen Manpage.

Das könnte dich auch interessieren …