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

15 einfache Beispiele für TOP-Befehle unter Linux zur Überwachung von Prozessen

Linux-TOP-Befehl

Einer der grundlegendsten Befehle zum Überwachen von Prozessen unter Linux ist der Befehl top. Wie der Name schon sagt, zeigt es die Top-Prozesse basierend auf bestimmten Kriterien wie CPU-Auslastung oder Speicherauslastung.

Die Prozesse werden in einer Liste mit mehreren Spalten für Details wie Prozessname, PID, Benutzer, CPU-Auslastung, Speicherauslastung aufgelistet.

Abgesehen von der Liste der Prozesse zeigt der Top-Befehl oben auch kurze Statistiken über die durchschnittliche Systemlast, die CPU-Auslastung und die RAM-Auslastung.

Dieser Beitrag zeigt Ihnen einige sehr einfache Beispiele dafür, wie Sie den top-Befehl verwenden, um Prozesse auf Ihrem Linux-Rechner oder -Server zu überwachen.

Beachten Sie Ihre "oberste" Befehlsvariante

Beachten Sie, dass es den Befehl top in verschiedenen Varianten gibt und jede einen etwas anderen Satz von Optionen und Verwendungsmethoden hat.

Um Ihre Top-Befehlsversion und -variante zu überprüfen, verwenden Sie die Option -v

$ top -v procps-ng Version 3.3.9

Dieser Beitrag konzentriert sich auf den obersten Befehl, der aus dem procps-ng-Projekt stammt. Dies ist die Version, die auf den meisten modernen Distributionen wie Ubunut, Fedora, CentOS usw. verfügbar ist.

1. Prozesse anzeigen

Um einen Einblick in die laufenden Prozesse zu bekommen, führen Sie einfach top aus Befehl, wie er ist, ohne solche Optionen.

$ oben

Und sofort würde die Ausgabe in etwa so aussehen -

oben - 18:50:35 bis 9:05, 5 Benutzer, Lastdurchschnitt:0,68, 0,52, 0,39 Aufgaben:254 gesamt, 1 läuft, 252 schlafend, 0 angehalten, 1 Zombie %CPU(s):2,3 us , 0,5 sy, 0,0 ni, 97,1 id, 0,2 wa, 0,0 hi, 0,0 si, 0,0 stKiB Speicher:8165300 gesamt, 6567896 verwendet, 1597404 frei, 219232 PufferKiB Swap:1998844 gesamt, 0 verwendet, 1998844 frei. 2445372 zwischengespeichertem MEM -PID -Benutzer pr. S 0.6 1.3 17:31.27 Xorg19211 enlight+ 20 0 576608 47216 39136 S 0.6 0.6 0:01.01 konsole 13 root rt 0 0 0 0 S 0.3 0.0 0:00.10 watchdog/1 25 root 20 0 0 0 0 0.0 .9:0 S 0 .9 /2 1724 erleuchtet+ 20 0 430144 36456 32608 S 0,3 0,4 0:03,60 Akonadi_Contact 1869 Enlight+ 20 0 534708 52700 38132 S 0,3 0,6 0:53,94 Yakuake14040 Enlight+ 20 0 858176 13394444444444444444444444444444444444444444444444444444444444444444444444444. 

Der Bildschirm enthält viele Informationen über das System. Die Header-Bereiche umfassen Betriebszeit, durchschnittliche Auslastung, CPU-Auslastung, Speichernutzungsdaten.

Die Prozessliste zeigt alle Prozesse mit verschiedenen prozessspezifischen Details in separaten Spalten.
Einige der Spaltennamen sind ziemlich selbsterklärend.

PID - Prozess-ID
BENUTZER - Das Systembenutzerkonto, auf dem der Prozess ausgeführt wird.
%CPU - CPU-Auslastung durch den Prozess.
%MEM - Speichernutzung durch den Prozess
COMMAND - Der Befehl (ausführbare Datei) des Prozesses

2. Sortieren nach Arbeitsspeicher/CPU/Prozess-ID/Laufzeit

Um den Prozess zu finden, der die meiste CPU oder den meisten Speicher verbraucht, sortieren Sie einfach die Liste.

Drücken Sie die M-Taste ( ja, in Großbuchstaben, nicht klein ), um die Prozessliste nach Speichernutzung zu sortieren. Prozesse, die den meisten Speicher beanspruchen, werden zuerst angezeigt und folgen der Reihe nach.

Hier sind weitere Optionen zum Sortieren nach CPU-Auslastung, Prozess-ID und Laufzeit -

Drücken Sie 'P' - um die Prozessliste nach CPU-Auslastung zu sortieren.
Drücken Sie 'N' - um die Liste nach Prozess-ID zu sortieren
Drücken Sie 'T' - um nach Laufzeit zu sortieren.

3. Kehren Sie die Sortierreihenfolge um - 'R'

Standardmäßig erfolgt die Sortierung in absteigender Reihenfolge. Durch Drücken von 'R' wird die Sortierreihenfolge der aktuell sortierten Spalte umgekehrt

Hier ist die Ausgabe in aufsteigender Reihenfolge der CPU-Auslastung sortiert. Prozesse, die am wenigsten CPU verbrauchen, werden zuerst angezeigt.

oben - 17:37:55 bis 8:25, 3 Benutzer, Lastdurchschnitt:0,74, 0,88, 0,74Aufgaben:245 gesamt, 1 läuft, 243 schlafend, 0 angehalten, 1 Zombie%CPU(s):5,2 us , 1.7 sy, 0.0 ni, 93.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 stKiB Speicher:8165300 gesamt, 6089388 verwendet, 2075912 frei, 199060 PufferKiB Swap:1998844 gesamt, 0 verwendet, 1998844 frei. 1952412 cached Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 185308 6020 4012 S 0.0 0.1 0:01.90 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:00.16 ksoftirqd/0 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:+ 7 root 20 0 0 0 0 S 0.0 0.0 0:06.98 rcu_sched 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh

4. Heben Sie die sortierte Spalte mit fettem Text hervor - 'x'

Drücken Sie x, um die Werte in der Sortierspalte mit fettem Text hervorzuheben. Hier ist ein Screenshot mit der Speicherspalte in Fettschrift -

obere Befehlshervorhebungsspalte

5. Markieren Sie die Hintergrundfarbe der sortierten Spalte „b“

Nachdem die sortierte Spalte mit fetter Schrift hervorgehoben wurde, ist es weiterhin möglich, sie auch mit einer anderen Hintergrundfarbe hervorzuheben. So sieht es aus

Top-Befehl Spaltenhintergrund hervorheben

6. Ändern Sie die Aktualisierungsverzögerung - 'd'

Der Befehl top aktualisiert die Informationen auf dem Bildschirm standardmäßig alle 3,0 Sekunden. Dieses Aktualisierungsintervall kann geändert werden.

Drücken Sie die Taste „d“, und top fordert Sie auf, das Zeitintervall zwischen den einzelnen Aktualisierungen einzugeben. Sie können auch Zahlen kleiner als 1 Sekunde eingeben, z. B. 0,5. Geben Sie das gewünschte Intervall ein und drücken Sie die Eingabetaste.

oben - 18:48:23 bis 9:19, 3 Benutzer, Lastdurchschnitt:0,27, 0,46, 0,39Aufgaben:254 gesamt, 1 läuft, 252 schlafend, 0 angehalten, 1 Zombie% CPU(s):1,3 us , 0,4 sy, 0,0 ni, 98,1 id, 0,2 wa, 0,0 hi, 0,0 si, 0,0 stKiB Speicher:8165300 gesamt, 7899784 verwendet, 265516 frei, 238068 PufferKiB Swap:1998844 gesamt, 5432 verwendet, 1993412 frei. 3931316 zwischengespeicherte MemChange-Verzögerung von 3.0 auf PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND14512 enlight+ 20 0 1047688 302532 87156 S 1.3 3.7 1:34.87 /opt/googl+15312 enlight+ 20 0 2 8:2514 8 8 00.04 oben

7. Filter- oder Suchprozesse - 'o'/'O'

Sie können die Prozessliste nach verschiedenen Kriterien wie Prozessname, Speicherauslastung, CPU-Auslastung usw. filtern. Es können mehrere Filterkriterien angewendet werden.

Drücken Sie „o“ oder „O“, um die Filteraufforderung zu aktivieren. Es wird eine Zeile angezeigt, die das Filterformat wie folgt anzeigt -

Filter Nr. 1 hinzufügen (Groß-/Kleinschreibung ignorieren) als:[!]FLD?VAL

Geben Sie dann einen Filter wie diesen ein und drücken Sie die Eingabetaste.

COMMAND=apache

Nun zeigt top nur noch die Prozesse an, deren COMMAND-Feld den Wert apache.

enthält

Hier ist ein weiteres Filterbeispiel, das Prozesse anzeigt, die CPU aktiv verbrauchen -

%CPU>0.0

Aktive Filter anzeigen - Drücken Sie Strg+o, um die derzeit aktiven Filter anzuzeigen

Filter löschen - Drücken Sie die Taste '=', um alle aktiven Filter zu löschen

8. Vollständigen Befehlspfad und Argumente des Prozesses anzeigen - 'c'

Drücken Sie 'c', um den vollständigen Befehlspfad zusammen mit den Befehlszeilenargumenten in der Spalte BEFEHL anzuzeigen.

%CPU %MEM TIME+ COMMAND 0.0 0.0 0:00.00 /usr/bin/dbus-launch --exit-with-session /usr/bin/im-laun+ 0.0 0.1 0:01.52 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address+ 0.0 0.3 0:00.41 /usr/bin/kwalletd --pam-login 17 20 0.0 0.0 0:00.00 /usr/lib/x86_64-linux-gnu/libexec/ kf5/start_kdeinit --kde+ 0.0 0.3 0:01.55 klauncher [kdeinit5] --fd=9 0.0 0.2 0:00.13 /usr/lib/telepathy/mission-control-5 0.0 0.1 0:00.00 /usr/lib/dconf/dconf -service 0.0 0.4 0:01.41 /usr/lib/x86_64-linux-gnu/libexec/kdeconnectd 0.0 0.2 0:01.09 /usr/lib/x86_64-linux-gnu/libexec/kf5/kscreen_backend_lau+

9. Prozesse eines Benutzers anzeigen - 'u'/'U'

Um nur die Prozesse eines bestimmten Benutzers anzuzeigen, drücken Sie 'u' und dann werden Sie von oben aufgefordert, den Benutzernamen einzugeben.

Welcher Benutzer (leer für alle)
Geben Sie den gewünschten Benutzernamen ein und drücken Sie die Eingabetaste.

top - 17:33:46 up 8:21, 3 Benutzer, Lastdurchschnitt:2,55, 1,31, 0,81 Aufgaben:246 gesamt, 1 läuft, 244 schlafend, 0 angehalten, 1 Zombie %CPU(s):11,8 us , 3.3 sy, 0.6 ni, 84.2 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 stKiB Speicher:8165300 gesamt, 6108824 verwendet, 2056476 frei, 198680 PufferKiB Swap:1998844 gesamt, 0 verwendet, 1998844 frei. 1963436 zwischengespeichertem Mem, der Benutzer (leer für alle) Erleuchteter PID -Benutzer PRI Vird Res. 03.08 akonadi_mi+ 1697 enlight+ 20 0 430144 37100 33248 S 0.0 0.5 0:03.00 akonadi_co+ 1599 enlight+ 20 0 504628 36132 32068 S 0.0 0.4 0:03.24 kdeconnectd 1608 enlight+ 20 0 570784 35688 29944 S 0.0 0.4 0:02.87 polkit-kde+ 1584 enlight+ 20 0 781016 33308 29056 S 0,0 0,4 0:04,03 kactivitym+

10. Schaltet die Anzeige von inaktiven Prozessen um - 'i'

Drücken Sie „i“, um zwischen der Anzeige von Prozessen im Leerlauf/Schlafmodus umzuschalten. Standardmäßig werden alle Prozesse angezeigt.

11. Verstecke/zeige die Informationen oben - 'l', 't', 'm'

Die 'l'-Taste blendet die durchschnittliche Auslastung aus.
Die 'm'-Taste blendet die Speicherinformationen aus.
Die 't'-Taste blendet die Task- und CPU-Informationen aus.

Das Ausblenden des Header-Informationsbereichs macht mehr Prozesse in der Liste sichtbar.

12. Waldmodus - 'V'

Durch Drücken von „V“ werden die Prozesse in einer Eltern-Kind-Hierarchie angezeigt. Es sieht etwa so aus -

top - 09:29:34 up 17 min, 3 Benutzer, Lastdurchschnitt:0,37, 0,58, 0,66 Aufgaben:244 gesamt, 1 läuft, 242 schlafend, 0 angehalten, 1 Zombie% CPU(s):6,1 us, 2.1 sy, 0.0 ni, 91.8 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 stKiB Speicher:8165300 gesamt, 3968224 verwendet, 4197076 frei, 82868 PufferKiB Swap:1998844 gesamt, 0 verwendet, 1998844 frei. 1008416 cached Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 37844 5964 4012 S 0.0 0.1 0:01.08 systemd 279 root 20 0 35376 4132 3732 S 0.0 0.1 0:00.22 `- systemd-3.22 Wurzel 20 0 44912 4388 3100 S 0,0 0,1 0:00,14 `- systemd-udevd 493 systemd+ 20 0 102360 2844 2572 S 0,0 0,0 0:00,01`- systemd-timesyn 614 root 20 0 337360 8624 6904 ModemManager 615 Avahi 20 0 40188 3464 3096 S 0,0 0,0 0:00,01 `- Avahi-daemon 660 Avahi 20 0 40068 324 12 S 0,0 0,0 0:00.00`- Avahi-DAM+ 617 Wurzel 20 0 166276 8788 8076 S 0,0 0:00.076 8788 8076 `- thermald 621 root 20 0 15664 2496 2312 S 0.0 0.0 0:00.00 `- anacron 2792 root 20 0 4476 844 760 S 0.0 0.0 0:00.00 r un-pa+ 2802 root 20 0 4476 1672 1536 S 0.0 0.0 0:00.00 `- apt 2838 root 20 0 7228 676 596 S 0.0 0.0 0:00.00 `+ 630 root 20 0 28932 3128 2860 S 0.0 `n 0.0 634 root 20 0 283120 6776 5924 S 0.0 0.1 0:00.04 `- accounts-daemon 636 root 20 0 86160 7224 6128 S 0.0 0.1 0:00.01 `- cupsd

13. Ändern Sie die Anzahl der anzuzeigenden Prozesse - 'n'

Angenommen, Sie möchten nur wenige Prozesse basierend auf bestimmten Filterkriterien überwachen. Drücken Sie 'n' und geben Sie die Anzahl der Prozesse ein, die Sie anzeigen möchten.

Es wird eine Zeile mit der Aufschrift -
Maximale Aufgaben =0, ändern zu (0 ist unbegrenzt) angezeigt

14. Alle CPU-Kerne anzeigen - '1'

Durch Drücken von '1' werden die Lastinformationen zu einzelnen CPU-Kernen angezeigt. So sieht es aus -

oben - 10:45:47 bis 1:42, 5 Benutzer, Lastdurchschnitt:0,81, 1,14, 0,94Aufgaben:260 gesamt, 2 laufen, 257 schlafen, 0 gestoppt, 1 Zombie%Cpu0 :3,6 us, 3,6 sy , 0,0 ni, 92,9 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st % CPU1:3,1 us, 3,6 sy, 0,0 ni, 93,3 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st % CPU2:7,6 us, 1,8 sy, 0,0 ni, 90,7 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st% CPU3:9,6 us, 2,6 sy, 0,0 ni, 87,7 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 stKiB Speicher:8165300 insgesamt , 7118864 verwendet, 1046436 frei, 204224 PufferKiB Swap:1998844 insgesamt, 0 verwendet, 1998844 frei. 3410364 zwischengespeicherter Speicher

15. Spalten 'f' ein-/ausblenden

Standardmäßig zeigt top nur wenige Spalten von vielen mehr an, die angezeigt werden können. Wenn Sie eine bestimmte Spalte hinzufügen oder entfernen oder die Reihenfolge der Spalten ändern möchten, drücken Sie f

Fields Management für Fenster 1:Def, dessen aktuelles Sortierfeld %CPU ist. Navigieren Sie mit Up/Dn, Rechts wählt zum Verschieben, dann  oder Links bestätigt, 'd' oder  schaltet die Anzeige um, 's' setzt Sortieren. Verwenden Sie zum Beenden 'q' oder !* PID =Prozess-ID PGRP =Prozessgruppe vMj =Schwerwiegende Fehler* USER =Effektive Verwendung TTY =Steuern von T vMn =Geringfügige Fehler PR =Priorität TPGID =Tty-Prozess G USED =Res+Swap Größe NI =Nice Value SID =Sitzungs-ID nsIPC =IPC-Namensraum VIRT =Virtuelles Image nTH =Anzahl der Thr nsMNT =MNT-Namensraum RES =Residente Größe P =Zuletzt verwendete CPU nsNET =NET-Namensraum SHR =Shared Memory TIME =CPU-Zeit nsPID =PID namespace S =Process Status SWAP =Swapped Size nsUSER =USER namespace* %CPU =CPU Usage CODE =Code Size (Ki nsUTS =UTS namespace* %MEM =Memory Usage DATA =Data+Stack (K TIME+ =CPU Time, hun nMaj =Major Page Fa* COMMAND =Command Name/ nMin =Minor Page Fa PPID =Parent Processes nDRT =Dirty Pages C UID =Effective Use WCHAN =Sleeping in F RUID =Real User Id Fl ags =Task-Flags  

Die mit * oder fett markierten Felder sind die angezeigten Felder in der Reihenfolge, in der sie in dieser Liste erscheinen.

Navigieren Sie mit den Pfeiltasten nach oben/unten durch die Liste und drücken Sie „d“, um die Anzeige dieses Felds umzuschalten. Wenn Sie fertig sind, drücken Sie q, um zur Prozessliste zurückzukehren

Die folgende Ausgabe zeigt nur die Spalten PID, USER, CPU, MEMORY und COMMAND an.

oben - 15:29:03 bis 6:16, 4 Benutzer, Lastdurchschnitt:0,99, 0,61, 0,63 Aufgaben:247 gesamt, 1 läuft, 245 schlafend, 0 angehalten, 1 Zombie %CPU(s):6,3 us , 2.0 sy, 0.2 ni, 91.5 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 stKiB Speicher:8165300 gesamt, 6089244 verwendet, 2076056 frei, 189272 PufferKiB Swap:1998844 gesamt, 0 verwendet, 1998844 frei. 1902836 zwischengespeicherter Speicher PID BENUTZER %CPU %MEM BEFEHL 1921 enlight+ 9.2 3.6 /opt/google/chrome/chrome 3078 enlight+ 6.9 4.2 /opt/google/chrome/chrome --type=renderer --lang=en-+ 1231 root 5.3 1.0 /usr/bin/X :0 -auth /var/run/sddm/:0 -nolisten tcp -+ 1605 enlight+ 2.8 2.5 /usr/bin/plasmashell --shut-up 1596 enlight+ 1.8 1.0 kwin_x11 -session 10d8d4e36b0001447409439000000209530 8. 9+ en 1.7 /opt/google/chrome/chrome --type=renderer --lang=en-+ 2534 enlight+ 0.8 1.7 /opt/google/chrome/chrome --type=renderer --lang=en-+ 5695 enlight+ 0.8 0.7 / usr/bin/python /usr/bin/terminator 1859 enlight+ 0.2 1.2 /usr/bin/perl /usr/bin/shutter --min_at_startup 2060 enlight+ 0.2 1.5 /opt/google/chrome/chrome --type=renderer --lang =en-+ 3541 enlight+ 0.2 3.6 /opt/google/chrome/chrome --type=renderer --lang=en-+

16. Stapelmodus

Top unterstützt auch die Batch-Modus-Ausgabe, bei der Informationen sequenziell statt auf einem einzelnen Bildschirm gedruckt werden. Dies ist nützlich, wenn Sie die oberste Ausgabe für eine spätere Analyse irgendeiner Art protokollieren müssen.

Hier ist ein einfaches Beispiel, das die CPU-Auslastung in Intervallen von 1 Sekunde anzeigt.

$ oben -d 1.0 -b | grep CPU

17. Ausgabe in mehrere Panels aufteilen - 'A'

Jedes Panel kann in einer anderen Spalte sortiert werden. Drücken Sie 'a', um sich durch die Panels zu bewegen. In jedem Bereich können unterschiedliche Felder und unterschiedliche Sortierspalten angezeigt werden.

Top-Befehl mehrere Panels

Schlussfolgerung

Top ist ein großartiges Befehlszeilentool, um die Systemressourcennutzung und Prozessdetails zu überprüfen. Es wird häufig auf Servern zur Überwachung und schnellen Diagnose verwendet.

Wenn Sie nach etwas Einfacherem mit einer besseren Benutzeroberfläche suchen, versuchen Sie es mit htop. Htop hat eine intuitive Benutzeroberfläche, bei der Sie sich keine Tastaturkürzel merken müssen. Htop enthält Anweisungen auf dem Bildschirm, die Sie bei der Verwendung anleiten.


Debian
  1. 7 Beispiele für Linux-df-Befehle

  2. 8 Linux TR-Befehlsbeispiele

  3. ps-Befehlsbeispiele in Linux

  4. sa-Befehlsbeispiele in Linux

  5. w Befehlsbeispiele unter Linux

10 Beispiele für Linux ss-Befehle zur Überwachung von Netzwerkverbindungen

Linux-PS-Befehl – ​​20 Beispiele aus dem wirklichen Leben

Linux-Top-Befehl

id-Befehlsbeispiele in Linux

nach oben Befehlsbeispiele in Linux

fuser Linux-Befehl mit Beispielen