top Befehl in Linux

Nilesh Katuwal 30 Januar 2023
  1. Aufschlüsselung des Befehls top in Linux
  2. Informationen über die CPU
  3. Verwenden des Befehls top unter Linux
top Befehl in Linux

Der Befehl top in Linux soll Benutzern dabei helfen, festzustellen, welche Prozesse aktiv sind und welche Anwendungen mehr Speicher oder Rechenleistung verbrauchen, als sie sollten.

Der oberste Befehl ist einfach zu verwenden, aber Sie sollten die Besonderheiten kennen. Der Lastdurchschnitt ist eine problematische Metrik, um die Leistung eines Servers zu bewerten.

Aufschlüsselung des Befehls top in Linux

Eingabe top im Terminal:

$ top

Ausgabe:

top - 00:04:54 up  3:30,  1 user,  load average: 1.84, 3.02, 2.50
Tasks: 233 total,   2 running, 231 sleeping,   0 stopped,   0 zombie
%Cpu(s): 38.5 us,  9.5 sy,  0.0 ni, 51.6 id,  0.3 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3840.9 total,    277.3 free,   2286.3 used,   1277.3 buff/cache
MiB Swap:   2048.0 total,   1447.0 free,    601.0 used.    777.7 avail Mem 
  • Die top - 00:04:54 up 3:30, 1 user,: Der Befehl zeigt die aktuelle Systemzeit an, gefolgt von der uptime, die in diesem Fall 3 Stunden und 30 Minuten beträgt, und schließlich der Anzahl der am System angemeldeten Benutzer, in diesem Fall 1. Per SSH geht das lokal auf der Box, im Leerlauf, auf dem Bildschirm und so weiter.
  • Der load average: 1.84, 3.02, 2.50: Dieser Abschnitt zeigt den Lastdurchschnitt an, was ein verwirrendes Konzept sein kann, insbesondere wenn es um virtuelle Maschinen und die Cloud geht. Die erste Zahl ist der aktuelle Auslastungsdurchschnitt, die zweite Zahl ist der Fünf-Minuten-Durchschnitt und die dritte Zahl ist der 15-Minuten-Auslastungsdurchschnitt.
  • Die Tasks: 233 total, 2 running, 231 sleeping, 0 stopped, 0 zombie: Die Anzahl der Anwendungen erscheint, wenn Sie ps aux oder eine Variation seiner Verwendung eingeben

Die Anzahl der laufenden Prozesse gibt an, wie stark Ihre CPU gerade ausgelastet ist. Da Nicht-Multithread-Anwendungen jeweils nur eine CPU verwenden können, ist es üblich, dass zwei Methoden 50 % Ihrer CPU mit einer durchschnittlichen Auslastung von 2 auf einem Quad-Core-Server belegen.

Die Anzahl der Schlafvorgänge zeigt an, dass sie in Betrieb, aber nicht aktiv verwendet werden; Dazu gehören normalerweise viele Hintergrundjobs, Systemsoftware, Druckertreiber und andere solche Elemente.

Sofern Sie einem Prozess zur Fehlerbehebung kein SIGSTOP oder kill-STOP übergeben haben, sollte die Anzahl der gestoppten Prozesse 0 sein. Ein von 0 abweichender Wert kann auf Produktionssystemen Anlass zur Sorge geben.

Prozesse, an denen Zombies beteiligt sind, weisen darauf hin, dass eine Multithread-Anwendung einen untergeordneten Prozess erstellt hat, der plötzlich zerstört oder beendet wurde und einen Zombie-Prozess zurückließ.

Wenn etwas Schreckliches passiert, wird Apache höchstwahrscheinlich mit aller Macht reagieren. In den meisten Fällen sollte diese auch 0 sein.

Informationen über die CPU

%Cpu(s): 38.5 us, 9.5 sy, 0.0 ni, 51.6 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st

  • Der Prozentsatz der Zeit, die jeder Prozessor bis zu 100 % verwendet. Infolgedessen zeigt dies auf einem Quad-Core mit einem Prozess, der 100 % einer CPU beansprucht, eine Auslastung von 25 % an. Auf einem 8-Kern-System bedeutet 12,5 Prozent, dass 1 Kern belegt ist.
  • Der Begriff Prozentsatz der System-CPU-Auslastung bezieht sich darauf, wie viel CPU des Systems verwendet wird. Höhere Zahlen hier könnten auf ein Problem mit Kernel-Konfigurationen, ein Treiberproblem oder eine Reihe anderer Gründe hindeuten.
  • Der Prozentsatz ni bezeichnet den Prozentsatz der CPU, der von Userland-Prozessen verwendet wird, die durch die nice oder renice-Befehle beeinflusst wurden, d. h. ihre Prioritäten wurden von der Voreinstellung des Schedulers auf höher oder niedriger geändert. Eine positive Zahl zeigt eine niedrigere Priorität an, während eine negative Zahl eine höhere Priorität anzeigt. Der Standardwert ist 0, was darauf hindeutet, dass der Planer die Entscheidung trifft.
  • Das Ergebnis der Subtraktion der vorherigen drei Zahlen von 100,0 Prozent ist ein Prozentsatz id, der die readlauf-Rechenleistung misst.
  • Das wa ist der % der E/A, die von der CPU erwartet wird. Wenn ein Prozess oder Programm Daten benötigt, überprüft es zuerst die Prozessor-Caches, dann den Arbeitsspeicher und schließlich die Festplatte. Normalerweise muss er warten, bis der IO-Thread die Informationen in den RAM gelesen hat, bevor er erneut daran arbeitet, wenn er auf die Festplatte trifft. Je langsamer die Festplatte, desto höher der IO Wait-Prozentsatz für jeden Prozess. Wenn die Wartezeit dauerhaft größer als 100/(Anzahl der CPUs * Anzahl der Prozesse) ist, liegt möglicherweise ein Speicherproblem vor, das überwacht werden muss. Überprüfen Sie diese Zahl zuerst, wenn Sie einen hohen Lastdurchschnitt feststellen. Wenn dieser Wert hoch ist, sind die Prozesse auf Ihrer Festplatte von Engpässen betroffen.
  • Das si ist die Zeit, die für die Wartung von Software-Interrupts aufgewendet wird. Anstelle einer Hardware oder eines Geräts (Treiber), das einen Interrupt auf der Interrupt-Leitung des Motherboards anfordert, enthält der Linux-Kernel in Version 2.4 eine Funktion, die es der Software ermöglicht, einen Interrupt anzufordern, und der Kernel ihn über seinen Interrupt-Handler verarbeitet. Dies bedeutet, dass eine Anwendung nach dem Prioritätsstatus fragen kann, der Kernel den Empfang der Anfrage bestätigen kann und die Software geduldig darauf wartet, dass der Interrupt adressiert wird.
  • Das st bezieht sich auf die von virtuellen Maschinen gestohlene Zeit. Wir verwenden keine VMs, um die CPU zu begrenzen, sodass es dem Pool als Ganzes nicht schadet, wenn eine oder zwei VMs gelegentlich 8 CPUs verwenden. Wenn die Anzahl physischer (oder logischer CPUs im Fall von Xeons mit Hyperthreading) CPU, die von den virtuellen CPUs der VMs verwendet wird, größer ist als die Anzahl der physischen CPUs, wird die “gestohlene Zeit” zunehmen.

Verwenden des Befehls top unter Linux

So zeigen Sie die Befehlssyntax top an:

$ top -h

Ausgabe:

procps-ng 3.3.16
Usage:
  top -hv | -bcEHiOSs1 -d secs -n max -u|U user -p pid(s) -o field -w [cols]

Sie können den Befehl top in einem sicheren Modus verwenden.

$ top -s

Verwandter Artikel - Linux Command