Wer den Istzustand eines Systems abfragen möchte, startet einen Systemmonitor. Obwohl das spartanische Top seinen Zweck nach wie vor erfüllt, erleichtern neuere Alternativen dem Systemadministrator die Arbeit mit besserer Bedienung und einem erweiterten Leistungsspektrum.

Abbildung 1: Ziemlich angegraut: Obwohl das viele Jahre alte Programm Top noch immer zuverlässig darüber Auskunft gibt, welches Programm den Rechner aufhält, könnte es wohl ein Facelifting gebrauchen.
Für das Überwachen eines Servers gibt es ausgefeilte Monitoring-Lösungen, die den Systemstatus laufend analysieren und das Ergebnis mitschreiben. Wer jedoch herausfinden möchten, warum die Festplatten-LED des Desktop-PC gerade hektische Aktivität signalisiert, benötigt einen schnellen Überblick über den Istzustand des Systems. Dieser zeigt, welche Anwendungen verschwenderisch mit dem Speicherplatz umgehen oder welche Prozesse – eventuell mit erhöhter Priorität – Exklusivrechte für den Prozessor beanspruchen.
Die beiden großen Desktopumgebungen bringen eine Bordlösung für diese Aufgabe mit: [Strg]+[Esc] startet unter KDE die Systemüberwachung Ksysguard. Gnome enthält zum selben Zweck den Gnome-Systemmonitor. Besonders die KDE-Anwendung beansprucht beim Start allerdings selbst viele Systemressourcen. Da der Anwender sie häufig in Situationen braucht, in denen der Rechner bereits überlastet ist, schränkt dies deren Nutzwert ein.
Wer in Lastsituationen dagagen auf eine Textkonsole wechselt und »top« startet, muss nicht lange warten. Der Klassiker unter den Systemmonitoren glänzt allerdings nicht durch Bedienungskomfort: Die Prozessliste in Top zeigt immer nur so viele Einträge, wie es der Platz auf der Konsole erlaubt. Dass dies auch bei einem Konsolenprogramm nicht so sein muss, demonstriert Htop, das sich selbst als “besseres Top” versteht: Hier scrollt die Prozessliste wie bei einer grafischen Anwendung. Dennoch lässt sich das Kommandozeilenprogramm Htop auch über eine langsame Netzwerkverbindung remote einsetzten. Atop, ebenfalls ein Konsolenprogramm, erweitert hingegen den Leistungsumfang von Top.
Top
Bereits seit 1982 starten Linux-Systemadministratoren Top (Abbildung 1, [1]), um einen schnellen Überblick über den aktuellen Systemstatus zu gewinnen. Die Bedienung des Urgroßvaters der Systemmonitore ist jedoch nicht besonders durchdacht. Viele Admins hat es schon Nerven gekostet, wenn Top eine Sekunde lang eine Fehlermeldung anzeigt, falls sie versehentlich eine nicht mit einem Befehl belegte Taste gedrückt haben. Wer sich nicht alle Tastaturshortcuts merken kann, benötigt außerdem den Umweg über die Hilfeseite.
Großvaters Erbe
Wenn Top trotzdem immer noch häufig benutzt wird, dann deswegen, weil es auf praktisch jedem Linux-System installiert ist und weil es den Lastzustand eines Rechners umfassend analysiert. Die Software unterteilt die Prozesslast in die von Userspace-Programmen und die vom Kernel selbst beanspruchten Anteile. Rechenzeit, die auf das Konto von Programmen mit verminderter Priorität geht, weisen neuere Top-Versionen ebenso aus, wie jene, die beim Warten auf das I/O-Subsystem (»wa«) oder durch Hard- und Software-Interrupts (»hi« und »si«) entsteht. Top überwacht auch mehrere Prozessoren.
Auf Prozessebene zeigt Top neben offensichtlich benötigten Werten wie dem Rechenzeit- und Speicherbedarf auch technisch tiefer gehende Informationen wie den Pagefault-Zähler oder den Anteil des Stack-Speichers, den viele Anwendungen nicht mehr freigeben, wenn der User Dokumente oder Unterfenster schließt. Störend ist allerdings, dass in Top die Spalte »command« nicht den vollständigen Befehlsaufruf enthält.
Die Anzeige in Top muss nicht so spröde aussehen wie in der Standardeinstellung. Für eine bessere Übersicht beherrscht die Software auch eine farbige Darstellung und kann die Prozessliste in vier nach unterschiedlichen Werten sortierten Bereiche unterteilen (Abbildung 2). Ein Druck auf [W] schreibt eine Konfigurationsdatei in das Homeverzeichnis, die Einstellungen nach einem Neustart erhält. Der Wert, nach dem Top die Prozessliste in Zeilen sortiert, lässt sich ebenso anpassen wie die Reihenfolge der Spalten. Der Anwender kann außerdem bestimmen, welche Werte Top für die einzelnen Prozesse anzeigt.
![Abbildung 2: Die alternative Anzeige von Top sorgt zusammen mit der farbigen Darstellung, die der Veteran nach Aktivierung mit der [A]-Taste anzeigt, für etwas mehr Übersicht.](https://www.linux-magazin.de/wp-content/uploads/2007/06/abb2_jpg-1-300x213.jpg)
Abbildung 2: Die alternative Anzeige von Top sorgt zusammen mit der farbigen Darstellung, die der Veteran nach Aktivierung mit der [A]-Taste anzeigt, für etwas mehr Übersicht.
Nichts liegt näher, als hängen gebliebene Prozesse direkt aus der Systemmonitor-Anwendungen heraus zu beenden oder die Priorität von rechenzeithungrigen Anwendungen herabzusetzen. Schon Top implementiert diese Funktionen. Der Benutzer wählt den gewünschten Prozess jedoch nicht direkt aus der Liste aus, sondern muss überflüssigerweise die Prozess-ID eintippen.
Htop
Die bewährte Funktionalität von Top und eine intuitive, menügesteuerte Bedienung, diese Zielsetzung steckt hinter dem Konsolen-Systemmonitor Htop [2]. Dass die Software dieses Versprechen einlöst, scheint der in Systemadministrator-Foren oft ausgesprochene Rat, Htop statt Top zu benutzen, zu bestätigen.
Ein Feature zeichnet Htop besonders aus: Die Software schneidet die Prozessliste bei fehlendem Anzeigeplatz nicht ab. Bewegt der Benutzer den Cursor an den unteren Bildschirmrand, dann scrollt Htop die Prozessübersicht. [Cursor links] und [Cursor rechts] verschieben die Anzeige seitwärts, sodass Htop beliebig viele Spalten anzeigt und auch lange Startkommandos nicht abschneidet (Abbildung 3).

Abbildung 3: Menüsteuerung, eine scrollende Prozessliste, Verlaufs- und Balkengrafiken sowie eine Baumdarstellung abhängiger Prozesse: Htop schöpft die Konsole voll aus.
Htop enthält eine Suchfunktion, die es erleichtert, Prozesse in einer langen Liste zu finden. Die Baumansicht symbolisiert die Abhängigkeiten der Prozesse, so gut es auf der Konsole irgend geht, mit Textzeichen (Abbildung 3). Die störende Eigenart von Top, auch bei versehentlich gedrückten unbelegten Tasten eine Warnmeldung anzuzeigen, erspart Htop dem Anwender.
Besonders jenen Benutzern, die nicht regelmäßig mit der Anwendung arbeiten, hilft die menügesteuerte Konfiguration. Dort finden sie auch eine Option, die den Split der CPU-Last in Anteile für I/O-Waitstates, Software- und Hardware-Interrupts einschaltet. Eine unnötige Hürde für nicht mit Kernelinterna vertraute Benutzer sind jedoch die Kürzel, mit denen das Konfigurationsmenü die Werte der Prozessübersicht benennt.
Arbeitserleichterung
Wählt der Benutzer einen Prozess aus der Übersicht, genügt ein Tastendruck, um die Priorität zu verändern oder den Prozess anzuhalten. Die Unix-Signale zum Beenden eines Programms wählt er aus einer Liste. Über die [S]-Taste startet »strace«. Läuft auf der Konsole der Maus-Emulator GPM, kann der Benutzer Htop mit der Maus bedienen.
Die Werte der systemweiten Statistik stellt Htop wahlweise als Ziffern, Balkengrafik oder Verlaufsgrafik dar. Der aus Textzeichen bestehende Graf ist zwar nicht besonders übersichtlich, bietet aber einen hilfreichen Überblick über die Veränderungen der letzten Minute. Wie grafische Programme nutzt Htop Farben, um in den Balkengrafiken aktuelle Werte und Mittelwerte über längere Zeiträume zu trennen.
Die Analyseleistung von Htop entspricht im Wesentlichen der von Top. Sowohl systemweit als auch für einzelne Tasks misst es die gleichen Werte. Das Konfigurationsmenü verspricht, dass Htop die Startzeit eines Prozesses anzeigen kann. Bleibt eine Anwendung hängen, ist es interessant zu wissen, wie lange sie bereits lief. Unter Top fehlt diese Information. Leider blieb im Test unter Open Suse 10.2 die entsprechende Spalte in der Taskliste stets leer, obwohl der Gnome-Systemmonitor diesen Wert auf demselben System anzuzeigen vermochte.
Insgesamt kann Htop den auf der Homepage erhobenen Anspruch, eine bessere Alternative zu Top zu bieten, erfüllen: Es analysiert das System ebenso gut wie Top, bietet darüber hinaus eine bessere Übersicht und die angenehmere Bedienung. Die Htop-Homepage enthält Links zu Paketen für viele Linux-Distributionen, aktuelle Suse-Pakete finden sich im Repository unter [3].
Atop
Schon der Name lässt erkennen, dass Atop [4] ebenso wie Htop an das verbreitete Top anknüpft. Das Konsolenprogramm setzt die Gewichtung jedoch anders: Möchte Htop vor allem die Bedienung erleichtert, weitet Atop den Funktionsumfang aus.
Das beginnt damit, dass Atop den Ressourcenverbrauch einzelner Prozesse exakter misst als viele andere Systemmonitore. Endet ein Prozess während der Messperiode, erscheint er trotzdem mit seinem anteiligen Ressourcenverbrauch in der Prozessliste. Der Standardwert für den Zeitraum einer Messung von zehn Sekunden führt daher bei Atop nicht zu Inkonsistenzen zwischen der systemweiten Statistik und der Summe aller Werte aus der Prozessliste.
Atop bereitet zudem mehr Werte für die systemweite Statistik auf als andere Systemmonitore (Abbildung 4). Außer der Prozesslast misst die Software auch die Anzahl der Kontext-Switches und der Interrupts. Die Speicherstatistik zeigt neben der Speicherbelegung durch Anwendungen, dem Plattencache und dem Filesystem-Buffer zusätzlich auch den Anteil an Kernel-Mallocs. Größe und Belegung des Swapspace ergänzt Atop durch die Werte für das Committed Memory und den maximal für Commits zur Verfügung stehenden Speicher, der bei einem optimistischen Speichermanagement unter Linux je nach Einstellung größer ausfällt als physischer Speicher und Swapspace zusammen.

Abbildung 4: Alleinstellungsmerkmal: Zumindest auf Systemen mit einem gepatchten Kernel zeigt Atop auch die I/O- und Netztnutzung einzelner Prozesse an.
Bei der Plattennutzung differenziert Atop nach Laufwerken. In der Spalte »busy« zeigt der Systemmonitor, für welchen Prozentsatz des Messzeitraums ein Laufwerk beschäftigt war. Außer der Anzahl der Lese- und Schreibzugriffe misst Atop die Durchschnittszeit, die für die Plattenzugriffe nötig war. Diese setzt sich aus der Latenz der Platte, der Dauer der Suche des Plattenkopfes und der Zeit für die eigentliche Datenübertragung zusammen. Der Administrator gewinnt so einen Anhaltspunkt, welche Hardwarekomponente die Performance ausbremst, oder kann sich ankündigende Probleme mit einer Platte erkennen.
Als einziger der vorgestellten Systemmonitore zeigt Atop auch die verursachte I/O-Last und den Netzwerktraffic auf Prozessebene. Voraussetzung hierfür ist allerdings ein gepatchter Kernel. Patches stehen für Kernelversionen bis 2.6.20 auf der Atop-Homepage zur Verfügung. Für diese Messungen muss die Anwendung mit Root-Rechten laufen.
Den Kernel für einen Systemmonitor patchen und neu kompilieren rentiert sich vermutlich nur auf Testsystemen für eine möglichst genaue Software-Evaluation vor dem Produktiveinsatz, kann dann aber wertvolle Informationen liefern. Atop läuft auch auf ungepatchten Systemen, Informationen über Netzwerkauslastung und Disk-I/O auf Prozessebene fehlen dann jedoch.
Ksysguard
Die herausragende Eigenschaft von Ksysguard (im Paket Kdebase enthalten, Doku unter [5]) ist seine Konfigurierbarkeit. Der Anwender wählt aus dem Sensor-Browser, der systemweite Messwerte in einer Baumstruktur hierarchisch ordnet, die gewünschten Sensoren und zieht sie mit der Maus auf einen leeren Bereich des so genannten Arbeitsblatts (Abbildung 5). Jedem Arbeitsblatt ordnet Ksysguard einen Karteireiter am oberen Fensterrand zu, sodass die Anwendung viele Sensorwerte gleichzeitig darstellt, ohne dass die Übersicht leidet. Ksysguard visualisiert die Werte entweder als Ziffer, Balkengrafik oder Verlaufsgraf. Statt die Werte anzuzeigen, kann die Software sie auch in eine Datei schreiben. Ein Graf kann mehrere Werte visualisieren, die Farben lassen sich zur Unterscheidung anpassen.

Abbildung 5: Schwergewicht: Ksysguard bietet zwar den Leistungsumfang einer kleinen Monitoring-Lösung, startet allerdings in Lastsituationen zu langsam.
Über der Prozessübersicht findet der Benutzer bei neueren Versionen ein Suchfeld. Nach der Eingabe zeigt die Prozesstabelle nur noch Einträge, die den Suchbegriff in einer der angezeigten Wertespalten enthalten. Wählt der Benutzer in der Liste einen oder mehrere Prozesse, kann er ihnen mit einem Rechtsklick ein Unix-Signal zum Beenden schicken oder die Priorität anpassen. Ebenfalls per Rechtsklick lassen sich Spalten mit Messwerten ein- oder ausschalten. Außerdem gibt es eine Option, Prozesse anderer Benutzer auszublenden.
Ins Netz gegangen
Die Prozessor- und I/O-Lastwerte, die Ksysguard kennt, entsprechen bis auf die fehlende I/O-Wait-Komponente dem Umfang von Top. Außer Prozessor und Platten überwacht die Software auch den Netztraffic und differenziert dabei nach Netzwerkadaptern und Protokollen.
Den Nachteil einer X-Window-Anwendung, dass sie sich anders als Konsolenprogramme nur über schnelle Netzwerk-Verbindungen remote nutzen lässt, gleicht der Ksysguard-Deamon aus, indem ein lokal laufender Ksysguard beim Netzwerkzugriff auf einem entfernten Rechner startet. Bei KDE-Systemen kann der Administrator davon ausgehen, dass der Deamon installiert ist, da er Teil des KDE-Basispakets ist.
Zusammen mit der konfigurierbaren, in Arbeitsblätter unterteilten Anzeige und der Fähigkeit, die angezeigten Daten auch zu loggen, nähert sich Ksysguard bereits einer Monitoring-Lösung an. Der große Funktionsumfang führt allerdings dazu, dass Ksysguard auf unter Last stehenden System nur langsam startet.
Gnome-Systemmonitor
Wer glaubt, dass KDE-Komponenten mehr Gewicht auf einen großen Leistungsumfang legen, Gnome-Programme dagegen zugunsten der Übersicht lieber auf Features verzichten, findet dies im Vergleich von KDE- und Gnome-Systemmonitor (Paket Gnome-Systemmonitor) zum Teil bestätigt. Die systemweite Ressourcenstatistik zeigt lediglich einen undifferenzierten CPU-Lastwert, den belegten virtuellen Speicher inklusive des ausgelagerten Anteils sowie die Größe des Netztraffic über alle Adapter. Anpassen kann der Anwender nur die Farben und das Aktualisierungintervall.
Wer den Gnome-Systemmonitor allerdings nur nach der Systemressourcen-Statistik beurteilt, dem entgeht, dass die Prozessliste mehr Werte anzeigt als die des KDE-Pendants (Abbildung 6): Der Benutzer kann mit dem Gnome-Systemmonitor die X-Server-Ressourcen ermitteln, die eine Anwendung belegt. Viele Anwendungen wie Webbrowser und Bildbetrachter speichern angezeigte Bitmaps als X-Ressourcen.

Abbildung 6: Zwiespältiger Eindruck: Während die Ressourcenstatistik nur einen unzureichenden Überblick über die Systemlast bietet, überrascht die Prozessliste mit nützlichen Funktionen wie der Anzeige des X-Server-Speichers und der von einem Prozess geöffneten Dateien.
Das Problem dabei ist, dass einige Anwendungen gelegentlich die nicht mehr benötige Ressourcen nicht wieder freigeben, was den Speicherverbrauch des X-Servers stark in die Höhe treiben kann. Auf Freedesktop.org findet sich für solche Fälle die eigenständige Anwendung Xrestop [6]. Der Gnome-Systemmonitor macht es aber überflüssig, sie extra zu kompilieren.
Ein weiteres Feature, das unter den getesteten Programmen nur der Gnome-Systemmonitor bietet, ist die Anzeige des SE-Linux-Kontexts der Prozesse. Ein Rechtsklick auf »Speicherfelder« fördert Angaben über die Shared Libraries einschließlich ihrer Position im virtuellen Speicher zu Tage. Ebenfalls nützlich ist die Anzeige der Dateien, auf die ein Prozess zugreift.
Im Vergleich mit der KDE-Systemüberwachung fehlt der Prozessliste jedoch eine Suchfunktion. Dafür darf der Benutzer beliebige Prozesse ausblenden. Der Menüpunkt »verborgene Prozesse« zeigt, welche Prozesse der Gnome-Systemmonitor ignoriert – der Benutzer kann sie einzeln wieder einblenden.
Wie die anderen Anwendungen verändert der Gnome-Systemmonitor die Prozessprioriät und beendet Prozesse, allerdings nur mit den Signalen »15« und »9«. Außerdem enthält die Software eigene Menüpunkte zum Anhalten und Fortsetzen eines Prozesses, die auch Anwender, die nicht mit den Unix-Signalen vertraut sind, einsetzen können.
Fazit
Der KDE-Systemmonitor bewegt sich in seinem Leistungsumfang in Richtung Monitoring-Lösung, startet jedoch bei hoher Last, also gerade dann, wenn ihn der Anwender benötig, zu langsam. Die systemweite Statistik des Gnome-Systemmonitors ist weitgehend untauglich, die Prozessliste weist jedoch Funktionen auf, die den anderen getesteten Anwendungen fehlen: Sie zeigt den X-Server-Speicher und die geöffneten Dateien eines Prozesses.
Das Konsolenprogramm Atop erweitert die Funktionalität des Veteranen Top und eignet sich – zusammen mit den leider nötigen Kernelpatches – für umfassende Software-Evaluationen auf Testsystemen. Htop lässt sich am besten als übersichtlicheres, besser bedienbares Top beschreiben. Da es als Konsolenprogramm unabhängig von X-Window und problemlos remote einsetzbar ist und sparsam mit den Ressourcen umgeht, ist es die erste Wahl für viele Systemadministratoren. Es bietet beinahe die gleichen Funktionen wie das klassische Top.
|
Infos |
|---|
|
[1] Top: http://procps.sourceforge.net] [2] Htop: [http://htop.sourceforge.net] [3] Htop-Pakete: [http://linux01.gwdg.de/~pbleser/] [4] Atop: [http://www.atcomputing.nl/Tools/atop] [5] Dokumentation Ksysguard:[http://docs.kde.org/development/de/kdebase/ksysguard/] [6] Xrestop: [http://www.freedesktop.org/wiki/Software/xrestop] |





