So ein Linux-Rechner ist schon ein tolles Gefährt, aber was passiert wirklich unter der Haube? Das ist alles gar nicht kompliziert, Sie müssen eben nur wissen, wie Sie die Tools einsetzen und vor allem, wie Sie deren Ausgabe interpretieren. Es geht dabei auch nicht darum, jede mögliche Option zu kennen, sondern nur, sie so einzusetzen, wie man sie für eine konkrete Problemlösung benötigt. Aktuelle Distributionen bringen die meisten besprochenen Programme bereits mit.
Was geht ab?
Wenn Sie mal eben wissen wollen, was auf dem System los ist, verwenden Sie w. Dann erfahren Sie die aktuelle Zeit, wie lange der Rechner schon läuft, welche User eingeloggt sind und welche Programme sie gerade benutzen (Abbildung 1). Das Programm w vereinigt somit die Grundfunktionen von uptime, who und ps. Sollte die Load über 1 liegen, können Sie gleich nachsehen, welcher Prozess so viel rechnet.
Hierfür eignet sich top ganz hervorragend. Es listet alle laufenden Prozesse auf, gewichtet nach Prozessor- oder Speichernutzung (Abbildung 1). Sie sehen auf den ersten Blick, ob ein Programm aus dem Ruder läuft und gerade 99% der CPU-Leistung in Anspruch nimmt. Oft steht top selbst ganz oben in der Liste, denn es belastet durchaus auch selbst den Prozessor, wenn es jede Sekunde seine Statistiken erhebt.
top liefert eine Momentaufnahme der derzeitigen Auslastung des Rechners. Auf den ersten Blick wirkt die Ausgabe etwas verwirrend, aber auf den zweiten findet man einiges wieder, was schon von w bekannt ist. In der obersten Zeile stehen die Uhrzeit, die Zeit seit dem letzten Neustart, die Anzahl der angemeldeten Benutzer und die Durchschnittslast der letzten Minute respektive fünf und 15 Minuten. In der zweiten Zeile zeigt top dann die Anzahl der aktuell laufenden Prozesse, schön säuberlich in aktive, schlafende, gestoppte Prozesse und Zombies aufgeteilt.
Die dritte Zeile zeigt die CPU-Benutzung aufgeteilt nach Benutzer- und System-, untätigen (idle) und Nice-Prozessen, die höhere Priorität besitzen. Da sowohl Benutzer-, als auch Systemprozesse mit besonderer Priorität laufen können, werden sie eventuell doppelt gezählt. Deshalb kann die Summe der CPU-Benutzung größer als 100% sein. Die Größe des gesamten Speichers, seine Belegung durch Prozesse, durch Puffer, und der freie Platz finden sich in der vierten Zeile. Analog zeigt top in der fünften Zeile die Swap-Nutzung.
In dem darunter liegenden Abschnitt listet top die Prozesse, sortiert nach ihrem Verbrauch an Rechenzeit. Unter PID findet sich die Prozess-ID, daneben steht der User, dem der Prozess gehört. NI bezeichnet den Nice-Level, also die Priorität, die dieser Prozess besitzt. SIZE ist der gesamte vom Prozess genutzte Speicherplatz. RSS ist lediglich der im RAM gehaltene, also der nicht auf eine Swap-Partition ausgelagerte Teil des Programms. SHARE zeigt an, wieviel Speicher der Prozess mit anderen gemeinsam nutzen kann. Die Spalte STAT zeigt den aktuellen Status mit den möglichen Zuständen: * D: nicht unterbrechbarer Schlafmodus * R: (running) läuft * S: (sleeping) schläft * T: (traced) gestoppt * Z: Zombie
Bleiben zum Schluss noch %CPU und %MEM, die jeweils die prozentuale Prozessor- und Speichernutzung des Prozesses anzeigen, sowie TIME und COMMAND, für Laufzeit und Namen. Wenn sie [Umschalt-m] drücken, während top läuft, ordnet das Programm die Prozesse nach ihrem Speicherverbrauch. Zurück zum ursprünglichen Ordungsprinzip gelangen Sie wieder mit [Umschalt-p].
Die vielen Aspekte der Rechnerauslastung, die top auf einen Blick darstellt, müssen Sie sich nicht im Detail merken. Wenn Sie beispielsweise merken, dass Ihr System träge reagiert, verschaffen Sie sich damit einen schnellen Überblick. Sehen Sie ganz oben einen Prozess mit 99% Speicher- oder CPU-Verbrauch, können Sie häufig davon ausgehen, dass dieser Prozess Probleme verursacht und beendet werden sollte. Das machen Sie, indem Sie in einem anderen Terminal kill -9
eingeben. Alternativ drücken Sie direkt in top die Taste [k], geben die Prozess-ID ein, wählen als Signalnummer 9 aus und bestätigen mit [Return].
Kurzer Prozess
Suchen Sie einen bestimmten Prozess, ist top nicht die erste Wahl, da es die Liste kontinuierlich anzeigt. Das Kommando ps dagegen liefert nur einmal das gewünschte Ergebnis und lässt sich so mittels einer Pipe mit anderen Befehlen verketten (siehe unten). Die gängigsten Optionen sind waux, damit wählen Sie: * w: (wide) breites Ausgabeformat * a: alle Prozesse * u: (user) benutzerorientiertes Format * x: zeige Prozesse ohne kontrollierendes Terminal
Laufen auf ihrem System viele Prozesse, empfiehlt es sich, die Ausgabe per Pipe an less oder more zu übergeben (Abbildung 3). Mit grep filtern Sie die Ausgabe nach bestimmten Prozessen. So gibt der folgende Befehl nur die httpd-Prozesse aus, also alle Instanzen des Webservers.
ps waux | grep httpd



