4 CLI-basierte Linux Performance Monitoring Tools: top, htop, ps und vmstat

Linux ist ein sehr stabiles Betriebssystem mit starken Sicherheitsfunktionen. Es kann vorkommen, dass wir die Leistung unseres Systems beobachten müssen, z. B. wegen einer technischen Störung oder im Rahmen einer routinemäßigen Gesundheitsprüfung. Leistungsmessungen geben uns einen schnellen Einblick in die Leistung unseres Systems, z. B. können wir anhand von Leistungsprotokollen feststellen, welche Prozesse laufen, wie viel Arbeitsspeicher belegt ist, wie viel CPU genutzt wird usw. Diese Informationen helfen uns auch bei der Entscheidungsfindung in Bezug auf eine effektive Ressourcenplanung, bei der Behebung von Systemproblemen usw. Die meisten Linux-Distributionen bieten Befehlszeilentools und grafische Tools, um diese Aufgabe zu erfüllen. Einige davon werden bereits mit dem Betriebssystem ausgeliefert, andere müssen erst installiert werden. Diese Tools werden entweder als Echtzeit-Überwachungstools oder als logbasierte Tools klassifiziert.

Echtzeit-Überwachungstools liefern, wie der Name schon sagt, Informationen über den aktuellen Zustand des Systems. Die Ergebnisse werden ständig aktualisiert.

Protokollbasierte Tools speichern die Leistungsergebnisse in einer Datei, die später zur Bearbeitung, Analyse oder für die Arbeit mit einer anderen Anwendung abgerufen werden kann.

Was werden wir hier tun?

In diesem Leitfaden stellen wir dir einige der gängigsten kommandozeilenbasierten Tools zur Überwachung der Systemleistung vor. Wir verwenden für diesen Leitfaden das Betriebssystem Ubuntu 20.04, obwohl die Tools, die wir besprechen werden, für die meisten Linux-basierten Distributionen verfügbar sind.

Warum die CLI-Methode?

Eine offensichtliche Frage, die dir vielleicht in den Sinn kommt, ist, warum wir uns mehr mit den kommandozeilenbasierten Tools beschäftigen. Der erste Grund ist, dass du nicht immer das Glück hast, eine grafische Umgebung zum Laufen zu bringen, z.B. wenn das System, an dem du arbeitest, ein entfernter Produktionsserver ist und keine grafische Oberfläche hat. Wenn du gerade ein lokales System hast, hast du vielleicht keine Rechte, um eine grafische Oberfläche darauf zu installieren. Ein weiterer Grund ist, dass wir mit einer Befehlszeilenschnittstelle die Möglichkeit zum Multitasking haben. Tmux ist eine solche Anwendung, mit der wir mehrere Systeme gleichzeitig überwachen können.

1. Top

Dieser Befehl zeigt eine Zusammenfassung des Systemstatus in Echtzeit an. Die Ausgabe zeigt die Menge des Systemspeichers (RAM), die für verschiedene Zwecke verwendet wird, den Prozentsatz der CPU-Auslastung, den Auslagerungsspeicher und andere Informationen an. Die Prozessstatistiken in Bezug auf die Speicher- und CPU-Auslastung werden auch angezeigt, wenn du den Befehl top ohne eine Option ausführst:

Obere Befehlsausgabe

 

Wir können auch die Spalten auswählen, die in der „top“-Ausgabe angezeigt werden sollen, indem wir „f“ eingeben, während „top“ ausgeführt wird. Auf dem neuen Bildschirm kannst du eine beliebige Spalte mit der Leertaste oder mit „d“ auswählen und mit „esc“ zurückkehren. In der folgenden Abbildung haben wir einige Spalten entfernt und eine neue Spalte (GID) hinzugefügt:

Die Ausgabe des Befehls "top" anpassen

2. Htop

Der Befehl Htop zeigt die Daten auf informativere und interaktive Weise an. Die Prozessnamen sind aussagekräftiger und die Mausintegration ist eine zusätzliche Funktion, die beim Befehl „top“ nicht vorhanden ist. Wir können mit der Maus verschiedene Spalten auswählen, die in der Terminalausgabe angezeigt werden. Ein weiterer Vorteil ist die Farbcodierung, mit der man die Ausgabe leicht überblicken und analysieren kann. Htop“ kann unter Ubuntu 20.04 mit dem Befehl installiert werden:

$ sudo apt install htop

Um verschiedene Einstellungen vorzunehmen, verwendet Htop Funktionstasten. Mit F3 kannst du z.B. die auf der Konsole angezeigte Ausgabe durchsuchen. Um Prozesse aufzulisten, die einem bestimmten Benutzer gehören, ist der Befehl: zu verwenden:

$ htop -u User_Name

Für den Benutzer root lautet der Befehl:

$ htop -u root

Die Ausgabe des Befehls 'htop'
Um Htop im monochromen Modus zu starten, benutze:

$ htop -C

4. ps

Die Implementierung des ps-Befehls unterscheidet sich deutlich zwischen den verschiedenen Unix-Systemen, z. B. kann er auf einem System ein Flag (eine Option) verwenden und auf einem anderen System eine andere, obwohl die Ausgabe in beiden Fällen die gleiche ist. Im Fall des Befehls „ps“ ist die Ausgabe statisch, im Gegensatz zu „top“ und „htop“, wo wir Echtzeit-Updates erhalten. Wenn keine Option übergeben wird, gibt der Befehl „ps“ den Namen der aktiven Shell und eventueller Prozesse aus.

Um alle laufenden Prozesse anzuzeigen, einschließlich derer, die anderen Benutzern gehören (Eigentümer), verwendest du den Befehl:

$ ps aux

Die Ausgabe des "ps"-Befehls

Da wir die Option „u“ verwendet haben, werden auch die Namen der Benutzer angezeigt. Eine andere Möglichkeit, die Liste der auf dem System laufenden Prozesse anzuzeigen, ist der Befehl:

$ ps -A

Du hast sicher schon bemerkt, dass die Ausgaben des Befehls „ps“ in der Regel sehr groß sind. Um die Analyse oder Filterung zu vereinfachen, können wir den Befehl „grep“ verwenden. Um z.B. die Prozesse „/usr/lib/firefox/firefox“ zu filtern, benutze den Befehl „grep“:

$ ps aux | grep ‘/usr/lib/firefox/firefox/

Befehl "ps" mit "grep
Außerdem können wir die Ausgabe in eine Datei umleiten, anstatt sie auf dem Terminal anzuzeigen. Hier ist ein Beispiel:

$ ps -aux > output.txt

Mit dem obigen Befehl wird die Ausgabe in die Datei „output.txt“ umgeleitet.

4. Vmstat

Virtual Memory Reporter oder vmstat sammelt Daten über CPU, virtuellen Speicher (swapd), Block I/O, Festplatten usw. Wenn keine Option verwendet wird, zeigt er die durchschnittlichen Informationen über diese Parameter an. Der Durchschnitt wird vom letzten Neustart des Systems genommen. Wir können eine Abtastrate angeben, nach der die Daten auf dem Terminal angezeigt werden sollen:

$ vmstat  2

Mit der Option „-a“ erhältst du den aktiven und inaktiven Systemspeicher. Wie der Befehl „ps“ variiert auch die Ausgabe von „vmstat“ je nach Plattform. Wir können auch die Anzahl der Messwerte angeben:

$ vmstat 1 4

Ausgabe des 'vmstat'-Befehls
Der erste Parameter ‚1‘ legt die Abtastrate fest und der zweite Parameter ‚4‘ gibt die Anzahl der Messungen an, die in der Ausgabe angezeigt werden sollen.

Fazit

Dies ist eine kurze Besprechung von vier kommandozeilenbasierten Tools, die normalerweise verwendet werden und auf den meisten Linux-basierten Distros verfügbar sind. Es gibt noch viele weitere Tools, auf die du zählen kannst. Jedes Tool hat seine eigenen Vor- und Nachteile und die Auswahl eines bestimmten Tools hängt vom Anwendungsbereich ab. Wir haben nur an der Oberfläche gekratzt, um einen Überblick über diese Werkzeuge zu geben; weitere Informationen und Optionen findest du in den Man Pages.

Das könnte dich auch interessieren …