2198662

Systemmonitore in der Shell

06.06.2016 | 14:04 Uhr | David Wolski

Ressourcen und Hardware im Blick behalten – das gelingt auch auf der Kommandozeile. Auf SSH-verwalteten (Home-)Servern ist es der bevorzugte Weg, sich den Überblick zu verschaffen. Die hier vorgestellten Tools sind Pflichtprogramme.

Welche Leistung liefern Komponenten wie CPU, RAM und Datenträger? Wie hoch ist die Auslastung von System, Netzwerk und Festplatte? Auf dem Linux-Desktop gibt es dazu je nach Desktopumgebung mehr oder weniger ausführliche Antworten über grafische Systemmonitore, unter Gnome etwa von der „Systemüberwachung“. Für Server aller Art und für Platinencomputer ist die systematische Ermittlung dieser Daten ohne grafische Oberfläche, also per Kommandozeile, der bessere Weg – und meist auch der einzige. Schließlich brauchen Linux-Server keinen grafischen Desktop. Hier geht es um eine Auswahl der wichtigsten Tools zur Leistungsüberwachung beziehungsweise ihrer Anzeige, die jeder Linux-Anwender kennen sollte – egal ob als Systemadministrator oder als Raspberry-Admin.

Htop: Moderner Prozessbeobachter

Um sich ein Bild davon zu machen, welche Prozesse auf einem Linux-System aktiv sind, bleibt in der Shell nicht nur das altbewährte Unix-Programm Top. Das ist zwar überall vorinstalliert, lässt aber hinsichtlich Funktionalität und Komfort zu wünschen übrig.

Ein besserer Ersatz für Top ist der Prozessmanager Htop, der im gleichnamigen Paket in allen Linux-Distribution auf seine Installation wartet. In Debian, Raspbian Ubuntu und Varianten ist Htop mit

sudo apt install htop

nachinstalliert, was auf jedem Serversystem eine Pflichtübung sein sollte. Er bietet einen komfortablen Überblick auf alle laufenden Prozesse, zeigt Uptime, Speicherbelegung und CPU-Last und erlaubt das Beenden oder das Ändern der Priorität einzelner Prozesse. Das Programm nutzt ausgiebig Ncurses, eine Bibliothek, die auch im Terminalfenster eine schicke Darstellung ermöglicht. Dabei ist es aber immer noch bescheiden genug, um auch bei langsamen SSH-Verbindungen reaktionsschnell zu funktionieren.

Prozess-Manager Htop im Terminal: Das Tool steht zur Installation in allen Distributionen bereit und ist ein Ersatz für das weniger komfortable Standardprogramm Top.
Vergrößern Prozess-Manager Htop im Terminal: Das Tool steht zur Installation in allen Distributionen bereit und ist ein Ersatz für das weniger komfortable Standardprogramm Top.

Tipp: Die Tastenbelegung im Terminalfenster sollte man für die Verwendung von Htop ändern, denn das Tool verwendet wie der Midnight Commander zum Beenden die Taste F10, die jedoch in einigen Terminalemulatoren die Fenstermenüleiste aufrufen. Alternativ beendet aber auch Taste Q das Programm.

Lesetipp Kleines ABC der Linux-Systemwartung

Iotop: Blick auf Datenträgerzugriffe

Die gemounteten Datenträger eines Linux-Systems kommen selten zur Ruhe, da immer irgendein Prozess läuft, also Daten gelesen oder geschrieben werden. Trotzdem gibt eine offensichtlich grundlos hohe I/O-Last der Speichermedien aufschlussreiche Hinweise auf einen Flaschenhals oder einen Prozess, der sich danebenbenimmt. Auf der Kommandozeile kann das kleine Programm Iotop die I/O-Auslastung der Festplatten protokollieren. Der Vorteil dieses Tools gegenüber ähnlichen Programmen ist, dass es die Festplattenaktivitäten nach Prozess und nach Lese- und Schreiboperationen aufschlüsselt.

Lesen und Schreiben: Das Tool Iotop überwacht die Festplattenzugriffe aller Prozesse. Hier zeigt Iotop die akkumulierten Zugriffe an – mit dem aktivsten Prozess ganz oben in der Liste.
Vergrößern Lesen und Schreiben: Das Tool Iotop überwacht die Festplattenzugriffe aller Prozesse. Hier zeigt Iotop die akkumulierten Zugriffe an – mit dem aktivsten Prozess ganz oben in der Liste.

Zu installieren ist es in allen Linux-Distributionen über das gleichnamige Paket „iotop“, bei Debian-ähnlichen Systemen also mit diesem Befehl:

sudo apt install iotop

Weil Iotop über Kernel-Funktionen auf die Leistungsparameter fremder Prozesse beziehungsweise aller Prozesse zugreift, muss es als root oder mit vorangestelltem sudo gestartet werden. In einer Tabelle sehen Sie alle Prozesse nach ihrem I/O-Anspruch aufgelistet, mit dem aktivsten Prozess am Anfang der Liste.

Tipp: Um herauszufinden, was über einen bestimmten Zeitraum auf dem System los ist, drücken Sie die Taste A, um die akkumulierte I/O-Statistik zu sehen. Während Iotop läuft, sammelt es nämlich die Leistungsdaten aller Prozesse und listet sie nach Auslastung auf. Die Taste Q beendet Iotop.

Nethogs: Wer frisst die Bandbreite?

Welches Programm auf einem Linux-System wie viel Netzwerkverkehr verursacht, entschlüsselt das Tool Nethogs – zu Deutsch „Netzwerkschweine“. Nicht nur wegen des griffigen Namens ist das Programm einer der populärsten Netzwerkmonitore unter Linux und steht mit gleichnamigem Paketnamen in den Standard-Paketquellen aller Linux-Distributionen bereit.

Nethogs: Das Tool ermittelt, welche Prozesse die höchste Netzwerklast auf dem System erzeugen. Es überwacht alle Prozesse und muss mit root-Recht gestartet werden.
Vergrößern Nethogs: Das Tool ermittelt, welche Prozesse die höchste Netzwerklast auf dem System erzeugen. Es überwacht alle Prozesse und muss mit root-Recht gestartet werden.

Es ordnet die gesendeten und empfangenen Datenmengen eindeutig Prozessen und Benutzerkonten zu. Nethogs ist das richtige Analysewerkzeug zur Klärung, wenn ein Prozess auf dem Linux-System eine hohe Netzwerklast erzeugt, aber nicht recht ersichtlich ist, welches Programm dies ist. Da Nethogs alle Prozesse unter die Lupe nimmt, benötigt es mit

sudo nethogs [Schnittstelle]

neben dem Namen der Netzwerkschnittstelle root-Recht oder vorangestelltes sudo.

Tipp: Die Namen der Netzwerkschnittstellen, mit der das System mit dem LAN oder mit dem Internet verbunden ist, liefert dieser Befehl:

ip link

Typisch sind „eth0“ oder „enp1s0f1“ für die Ethernet-Schnittstelle oder „wlp2s0“ für eine WLAN-Verbindung.

Vnstat: Übertragene Daten protokollieren

Wer einen günstigen Server bei einem der zahlreichen Provider mietet, bezahlt für jedes Gigabyte, das über die Pauschale hinausgeht.

Wie viele Daten gingen rein und raus? Eine Statistik zum Netzwerktraffic zeigt das Kommandozeilentool Vnstat, das die Werte dauerhaft in seiner Datenbank protokolliert.
Vergrößern Wie viele Daten gingen rein und raus? Eine Statistik zum Netzwerktraffic zeigt das Kommandozeilentool Vnstat, das die Werte dauerhaft in seiner Datenbank protokolliert.

Ist die Pauschale knapp bemessen, so tut man gut daran, die übertragenen Daten im Auge zu behalten. Das Tool Vnstat protokolliert die Datenmenge Tag für Tag in einer Datenbank und präsentiert so auch Statistiken über längere Zeiträume. Auf Ubuntu/Debian ist die Installation wieder schnell mit

sudo apt install vnstat

erledigt. Bevor Vnstat protokolliert, müssen Sie es mit einem Befehl einmal konfigurieren und die gewünschte Netzwerkschnittstelle angeben, beispielsweise so für „enp1s0f1“:

sudo vnstat -u -i enp1s0f1

Alles Weitere funktioniert jetzt mit normalen Benutzerrechten. Der Aufruf von vnstat gibt eine kurze Statistik zum akkumulierten Datenverkehr von heute und gestern aus.

Tipp: Über den Parameter „-d“ rufen Sie die Statistik der letzten zwei Wochen auf, Parameter „-m“ berücksichtigt den gesamten Traffic der letzten zwölf Monate. Eine Liste der zehn Tage mit dem höchsten Traffic liefert der Befehl vnstat -t.

Ncdu: Wo ist der Platz hin?

Auf SSDs und auf Servern in Cloudinstanzen ist Speicherplatz knappes Gut und ungepflegte Dateihalden machen sich schnell bemerkbar. Auf Linux-Systemen, die per Kommandozeile und SSH gepflegt werden, kann das Tool Ncdu schnell die Speicherorte großer Datenmengen ausfindig machen. Das Kommandozeilentool liefert eine schlichte Textoberfläche zur Übersicht und Navigation, um den Platzbedarf von Verzeichnissen mit einfachen Mitteln zu visualisieren. Vorinstalliert ist Ncdu in den verbreiteten Linux-Distributionen zwar nicht, aber es steht in den Paketquellen von Debian, Raspbian, Ubuntu, Fedora und Open Suse zur einfachen Installation über den Paketmanager bereit, was beispielsweise in Debian/Raspbian/Ubuntu mit dem Kommando

sudo apt-get install ncdu

gelingt.

Tipp: Ncdu kann bequem in jedes Verzeichnis wechseln, jedoch gilt der Ordner, in welchem es gestartet wird, als oberste Ebene. Um das gesamte Dateisystem unter die Lupe zu nehmen, müssen Sie das Tool mit einem vorangestelltem sudo und dem Parameter „/“

sudo ncdu /

aufrufen oder vor dem Aufruf mit „cd /“ in das Wurzelverzeichnis wechseln. Ncdu kann mit Taste D auch selbst aktiv werden und Daten löschen.

Wo sind die Gigabyte geblieben? Das Tool Ncdu visualisiert den Platzbedarf von Verzeichnissen und hilft dabei, große Datenhalden aufzuspüren.
Vergrößern Wo sind die Gigabyte geblieben? Das Tool Ncdu visualisiert den Platzbedarf von Verzeichnissen und hilft dabei, große Datenhalden aufzuspüren.

Powertop: Geschätzter Energiebedarf

Auf Notebooks ist ein Blick auf den Energiebedarf eines Linux-Systems aufschlussreich. Für das Terminal gibt es dafür den Energiemonitor Powertop von Intel, der eine große Zahl von Daten liefert. Das Tool eignet sich für alle modernen x86-Prozessoren, nicht nur für jene von Intel – allerdings nicht für ARM-Platinen. Powertop liegt in den Standard-Paketquellen aller wichtigen Linux-Distributionen bereit und ist in Debian, Ubuntu und Konsorten mit

sudo apt install powertop

zu installieren. Nach dem Aufruf über

sudo powertop

sammelt das Tool einige Sekunden Daten und zeigt dann, welche Prozesse die CPU-Kerne auslasten und diese daran hindern, in energiesparende Ruhezustände zu gehen. Powertop macht so jene laufenden Programme oder Desktopumgebungen ausfindig, die einen besonders hohen Energiebedarf haben.

Tipp: Powertop erkennt auf Notebooks, ob der Akku des Geräts entladen wird oder das Stromkabel angeschlossen ist. Entlädt der Akku, so zeigt Powertop in der oberen Zeile den aktuellen Energiebedarf in Watt an.

Zusammenfassung und Details: Powertop zeigt den Akkuladezustand und die Prozesse mit dem höchsten Verbrauch.
Vergrößern Zusammenfassung und Details: Powertop zeigt den Akkuladezustand und die Prozesse mit dem höchsten Verbrauch.

PC-WELT Marktplatz

2198662