GNU/Linux >> LINUX-Kenntnisse >  >> Linux

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

Während der Arbeit an der Linux-Befehlszeile kann es vorkommen, dass Sie prozessbezogene Details überprüfen möchten, z. B. welcher Prozess die CPU oder den Arbeitsspeicher am meisten verbraucht? Nun, es gibt einen Befehl namens top, mit dem Sie dies ganz einfach tun können. In diesem Tutorial werden wir dieses Tool anhand einiger leicht verständlicher Beispiele besprechen.

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

Linux-Top-Befehl

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

top [options]

Und hier ist, was die Manpage 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 benutzt man top?

Ganz einfach, führen Sie einfach den 'top'-Befehl ohne jede Option aus:

top

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

Beachten Sie, dass das, was Sie auf dem Screenshot sehen, nur eine Momentaufnahme der erzeugten Echtzeitausgabe ist (die sich nach einem festgelegten Intervall ändert).

Q2. Wie ist die Ausgabe des obersten Befehls zu verstehen?

Beginnen wir mit der ersten Zeile. Es enthält Einträge für (in dieser Reihenfolge), aktuelle Uhrzeit, Dauer, seit das System in Betrieb ist und läuft, aktive Benutzersitzungen und durchschnittliche Belastung des Systems (jeweils für die letzten 1 Minute, 5 Minuten und 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 gestoppten Prozesse und die Anzahl der Prozesse im Zombie-Zustand.

Die dritte Zeile enthält Informationen zur CPU-Auslastung. Im Folgenden sind die Details aufgeführt:

           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
von dieser VM gestohlen

Die nächsten beiden Zeilen zeigen Informationen zur RAM- und Swap-Speichernutzung. Und schließlich kommen prozessbezogene Informationen, die aus (in dieser Reihenfolge) Prozess-ID, Benutzer, dem der Prozess gehört, Priorität des Prozesses, nettem Wert des Prozesses, virtuellem, physischem und gemeinsam genutztem Speicher, der vom Prozess verwendet wird, Prozessstatus bestehen (Sleeping, Running oder Zombie), CPU- und RAM-Auslastung, Zeit der Aktivität und Befehl, der den Prozess initiiert hat.

Q3. Wie beendet man einen Prozess innerhalb der Top-Ausgabe?

Das ist ziemlich einfach - drücken Sie einfach 'k' und top fragt Sie nach der PID des Prozesses, den Sie beenden möchten. Sie sehen eine Meldung ähnlich der folgenden, die direkt über der Zeile erscheint, die Prozessspaltenüberschriften enthält:

PID to signal/kill [default pid = 3397]

Wie Sie sehen, können Sie entweder die Prozess-ID eingeben oder standardmäßig wird top versuchen, den ersten Prozess in der Liste zu beenden (durch Senden von SIGTERM). Sobald das Signal gesendet wurde, wird eine Nachricht ähnlich der folgenden erzeugt.

Send pid 3007 signal [15/sigterm]

Q4. Wie ändere ich die Priorität eines Prozesses?

So wie 'k' zum Töten ist, können Sie 'r' drücken, falls Sie die Priorität eines Prozesses ändern möchten (oder Sie ihn renicieren möchten). Das Drücken von 'r' erzeugt eine Meldung ähnlich der folgenden:

PID to renice [default pid = 3397] 

Geben Sie also entweder eine PID ein oder top versucht standardmäßig, die Priorität des ersten Prozesses in der Liste zu ändern. Zum Beispiel habe ich eine PID übergeben und mich dann von oben nach dem neuen netten 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 ändere ich die Aktualisierungsrate des obersten Befehls?

Standardmäßig aktualisiert top die Ausgabe alle 3 Sekunden, aber Sie können dies optimieren, indem Sie „d“ drücken. Der Befehl fordert Sie auf, den neuen Verzögerungswert einzugeben:

Change delay from 3.0 to 
ändern

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

Q6. Wie beschränke ich die Ausgabe des oberen Befehls auf einen Benutzer?

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 obige Zeile 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.

Ich habe zum Beispiel „root“ eingegeben und hier ist die Ausgabe:

F7. Wie macht man den Top-Display-Complete-Befehl zusammen mit Argumenten?

Dies kann durch Drücken von 'c' erfolgen. Hier ist ein Beispiel:

So können Sie jetzt den vollständigen Befehlspfad sowie die Befehlszeilenargumente in der Ausgabe sehen.

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

Um Hilfe zu interaktiven Top-Befehlen zu erhalten, drücken Sie 'h'. In der Ausgabe sehen Sie verfügbare Befehle und was sie tun. Folgendes wurde beispielsweise auf meinem System angezeigt, als ich „h“ drückte.

Schlussfolgerung

Wir haben hier nur an der Oberfläche gekratzt. Der oberste Befehl bietet viel mehr Funktionen. Wenn Sie verstanden haben, was wir in diesem Artikel besprochen haben, und mit dem Üben fertig sind, gehen Sie zur oberen Manpage, um mehr darüber zu erfahren.


Linux
  1. Linux-CD-Befehls-Tutorial für Anfänger (8 Beispiele)

  2. Linux-Kommando-Tutorial für Anfänger (5 Beispiele)

  3. Linux-df-Befehls-Tutorial für Anfänger (8 Beispiele)

  4. Linux Date Command Tutorial für Anfänger (8 Beispiele)

  5. Linux-Hostname-Befehls-Tutorial für Anfänger (5 Beispiele)

Linux Who Command Tutorial für Anfänger (8 Beispiele)

Linux nl Command Tutorial für Anfänger (7 Beispiele)

Linux-nm-Befehls-Tutorial für Anfänger (10 Beispiele)

Linux OD Command Tutorial für Anfänger (6 Beispiele)

Linux w Command Tutorial für Anfänger (5 Beispiele)

Linux ss Command Tutorial für Anfänger (8 Beispiele)