AA_PO-13745-Ultimate_Collection-Real_Office-Ingram_Publishing-Control_Room.jpg

Kontrollraum

Systemüberwachung auf der Konsole

20.12.2012
Top, der Klassiker zur Unix-Systemüberwachung, hat über die Jahre viele nützliche Ableger angeregt. Sie alle dienen der Überwachung und teilweise auch der Steuerung verschiedenster Vorgänge auf dem Rechner.

Das klassische Prozesssteuerungswerkzeug Top [1] ("Table of Processes") liegt praktisch allen Linux-Distributionen und BSD-Derivaten bei. Nach dem Aufruf mittels top zeigt das Programm statistische Daten über die Auslastung des Systems und die Prozesse an (Abbildung 1). Das Programm führt nur so viele Prozesse auf, wie in das Terminalfenster passen. In der Voreinstellung aktualisiert es alle drei Sekunden die angezeigten Daten.

Abbildung 1: So präsentiert Top in der Vorgabe-Einstellung die laufenden Prozesse.

Schlauer Kopf

Im oberen Bereich über der Prozesstabelle erfahren Sie einiges über die Systemauslastung und -Nutzung. Neben der aktuellen Systemzeit erkennen Sie hier hinter up die Uptime, also die abgelaufene Zeit seit dem letzten Systemstart. Hinter users führt Top die Anzahl der Benutzer, die aktuell am System arbeiten. Dabei kann es sich um aktiv angemeldete Personen handeln, aber auch um Daemons.

Die drei Werte hinter load average visualisieren die CPU-Auslastung. Hier handelt es sich um eine relative Angabe zur Zahl der Prozesse, die sich durchschnittlich in der vergangenen Minute, den letzten fünf Minuten und der letzten Viertelstunde in der Verarbeitungsschlange der CPU befunden haben. Werte unter 1 zeigen, dass es Leerlaufzeiten (und damit Reserven) gab. Werte über 1 bedeuten hingegen Wartezeiten beim Abarbeiten der Prozesse.

Hinter Tasks führt Top eine Statistik über den Prozessstatus. Hier taucht neben der Gesamtzahl aller auch die Zahl der aktiven, schlafenden und angehaltenen Prozesse auf. Bei den sogenannten Zombies handelt es sich um Prozesse, die nach dem Beenden nicht aus der Prozesstabelle entfernt wurden.

Unter Cpu(s) notiert Top die prozentuale Verteilung der CPU-Zeit. Dabei unterscheidet es zwischen für Benutzer- und Systemprozessen (us, sy) sowie Nice-Prozessen (mit negativem Nice-Wert, ni). Außerdem sehen Sie hier die Leerlaufzeiten (id). Für Prozesse, die auf den Abschluss von Ein/Ausgabe-Operationen warten, finden Sie den CPU-Zeitanteil mit wa dargestellt. Die CPU-Zeitanteile für das Bereitstellen von Hardware-Interrupts zeigt hi, die der Software-Interrupts si. Prozesse können einer CPU auch Zeit stehlen (st) – hier erscheint bei virtuellen Maschinen der Zeitanteil, den der Hypervisor mit Beschlag belegt.

Über die Belegung des Arbeitsspeichers geben die Werte hinter Mem Aufschluss. Hier erscheinen der Gesamtumfang des RAMs (total), der aktuell verwendete Anteil (used), der noch freie Arbeitsspeicher (free) sowie der für Ein/Ausgabe-Operationen reservierte Anteil (buffers).

  • Ganz ähnlich führt Top über den Auslagerungsspeicher (Swap) Buch. Hier erscheinen der Gesamtumfang (total) sowie der benutzte (used) und freie (free) Anteil. Der Wert hinter cached zeigt die Belegung für zwischengespeicherte Daten an. Idealerweise liegt die Angabe zu used bei Null oder nur wenig darüber – ansonsten herrscht auf dem System Arbeitsspeichermangel, was die Arbeit unweigerlich verlangsamt.

Voller Körper

Der untere Teil der Ausgabe von top listet Angaben zu den einzelnen Prozessen auf. Die Tabelle "Prozessinformationen" führt die standardmäßig dargestellten Informationen auf. Durch entsprechende Startoptionen oder interaktives Steuern können Sie zusätzliche weitere Angaben einblenden, wie beispielsweise den Elternprozess (PPID) oder die Gesamtspeicherbelegung des Jobs mit Programm, Daten und Stack (SIZE). Top – und auch seine verbesserte Nachahmer, dazu später mehr – lesen die Werte aus /proc aus.

Prozessinformationen

Spalte Information Anmerkung
PID Prozess-ID
USER Eigentümer des Prozesses Benutzername
PR Priorität maximal 0, minimal 139, 1-99 für Echtzeitaufgaben, ab 101 durch vorgegeben Nice-Wert berechnet
NI Nice-Wert maximal -20, minimal 19
VIRT verbrauchter virtueller Speicher inklusive mehrfach verwendeter Programmbibliotheken)
RES verbrauchter physischer Speicher ohne ausgelagerte Daten
SHR belegter geteilter Speicher "shared memory"
S Status des Prozesses R = laufend, S = schlafend, D = nicht abbrechbar, T = angehalten
%CPU CPU-Zeit in Prozent
%MEM RAM-Verbrauch in Prozent
TIME+ CPU-Zeit in Minuten:Sekunden
COMMAND Programmname Name der ausgeführten Datei

Neben einigen Optionen, die Sie Top beim Programmaufruf mitgeben, kennt Top auch eine Reihe interaktive Anweisungen. So zeigt Top beispielsweise nach einem Druck auf die Zifferntaste [**1**] eine eigene Statistik für jeden Prozessor beziehungsweise Core (Abbildung 2) und kennt auch einen (allerdings nicht eben übersichtlichen) ausführlichen Anzeigemodus (Abbildung 3).

Abbildung 2: Die Anzeige der CPU-Statistik, getrennt nach Kernen beziehungsweise CPUs.
Abbildung 3: In der ausführlichen Anzeige teilt Top den Bildschirm für vier "Fenster" auf.

Eine Auswahl dazu führt die der Tabelle "Top: Optionen und Steuerung" auf. Einige Funktionen lassen sich sowohl über Kommandozeilenschalter (Spalte "Befehlsoption") als auch über interaktive Anweisungen (Spalte "Steuerung") nutzen, andere nur direkt in der Oberfläche von Top. Zu letzteren gehört beispielsweise die Funktion zum Ändern der Priorität eines Prozesses, die analog zum Shell-Befehl renice arbeitet.

Dabei können normale Benutzer die Priorität eines Prozesses lediglich herabsetzen, nicht aber erhöhen. Wenn Sie also in Top [R] drücken, die PID des fraglichen Prozesses und anschließend einen Wert kleiner Null eingeben, verweigert Top die Ausführung: Nur root darf Prioritäten heraufsetzen.

Top: Optionen und Steuerung

Anweisung Befehlsoption Steuerung
Statistik für jede CPU/Kern [**1**]
Ausführliche Anzeige [Umschalt]+[A]
Vollständige Anzeige Programmaufruf -c [C]
Signal an einen Prozess senden [K] PID
Zeige nur ausgewählte Prozesse -p PID <...>
Sicherer Modus (nur Anzeige) -s -
Auffrischintervall -d Sekunden [D] Sekunden oder [S] Sekunden (siehe Kasten "Besonderheiten von Top")
Nur Jobs eines Benutzers zeigen -u Benutzer [U] Benutzer
Einstellungen speichern [Umschalt]+[W]
Anzeige farbig [Z]
Top beenden [Q]

Vermeiden Sie, Top mit einem Auffrischintervall von weniger als einer halben Sekunde zu starten. Die Eingabe top -d 0 führt beispielsweise dazu, dass das Programm einen CPU-Kern für sich alleine beschlagnahmt und eine hohe Systemlast verursacht. Bei Delay-Werten ab 0.5 aufwärts geschieht das zwar nicht mehr, doch kann es auch dann noch schwierig sein, der hektisch springenden Anzeige zu folgen.

In einem zweistufigen Vorgang können Sie auch Signale an einen Prozess senden (Abbildung 4). Dazu Drücken Sie zunächst [K] und geben dann die PID des fraglichen Prozesses an, gefolgt von [Eingabe]. Drücken Sie nun nochmals die Eingabetaste, übermittelt Top dem Prozess das Signal 15 (SIGTERM). Daraufhin sollte er sich beenden. Klappt das, kann er noch Daten zurückschreiben, Lock-Dateien entfernen und Verbindungen abbauen.

Abbildung 4: Prozesse beenden Sie mit Top in einem zweistufigen Vorgang.

Nicht jeder Prozess lässt sich jedoch so friedlich terminieren. In diesem Fall geben Sie nach der Angabe der PID noch eine 9 für das Signal SIGKILL ein. Nun beendet das System den Prozess ohne Rücksicht auf Verluste sofort. Übermitteln Sie einem Prozess dagegen das Signal 19 (SIGSTOP), wird nur dessen Ausführung angehalten. Er belegt weiterhin Ressourcen und erscheint in der Prozesstabelle von Top mit dem Status T.

Auf diese Weise halten Sie beispielsweise Prozesse an, die auf noch nicht vorliegende Daten warten. Auf die selbe Weise unterbrechen Sie auch einen Daemon, ohne dass Sie ihn später komplett neu starten müssten. Stattdessen senden Sie einem mit SIGSTOP angehaltenen Prozess das Signal 18 (SIGCONT), um ihn wieder fortzusetzen. Eine kleine Übersicht wichtiger Signale finden Sie in der Tabelle "Signale (Auswahl)".

Signale (Auswahl)

Signal Name Wirkung
9 SIGKILL Unbedingtes, sofortiges Beenden eines Prozesses
15 SIGTERM Normales Programmende anfordern
18 SIGCONT Fortsetzen eines angehaltenen Prozesses
19 SIGSTOP Anhalten eines Prozesses

Top kennt auch einen sicheren Modus, den Sie durch den Aufruf mit dem Kommandozeilenschalter -s starten. Sie dürfen dann zwar noch die Anzeigeeinstellungen modifizieren, jedoch keinerlei Veränderungen am Status von Prozessen vornehmen.

Alle Einstellungen einer nach Ihren Wünschen laufenden Top-Instanz speichern Sie durch einen Druck auf [Umschalt]+[W]. Beim nächsten Aufruf läuft der Prozessmonitor wieder in der entsprechenden Konfiguration, die er aus der Datei ~/.toprc einliest.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 7 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

WLAN-Signalqualität vom Treiber abhängig
GoaSkin , 29.10.2014 14:16, 0 Antworten
Hallo, für einen WLAN-Stick mit Ralink 2870 Chipsatz gibt es einen Treiber von Ralink sowie (m...
Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 6 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...