Login
Newsletter
Werbung

Do, 20. August 2015, 15:00

Das Konsolentool top

Wer sich über einen langsam laufenden Computer ärgert, kann mit Hilfe verschiedener Programme nachschauen, woran es liegt. Das Programm top geht jedoch einen Schritt weiter und ermöglicht es dem Nutzer, in laufende Prozesse einzugreifen.

Prozesse im Allgemeinen

Ein Prozess ist eine Instanz von einem oder mehreren verbundenen Tasks (engl. »threads«), die auf dem Computer ausgeführt werden. Einige Prozesse sind unabhängig voneinander, andere sind miteinander verbunden. Sie nutzen umfangreiche Hardware wie den Prozessor (CPU), Speicher, Arbeitsspeicher, Bildschirm etc. Für die Zuteilung der vorhandenen Hardware an die laufenden Prozesse ist der Linux-Kernel verantwortlich.

Per »control groups« (oder kurz »cgroups«, s. Grundlagenartikel Ressourcen-Verwaltung mit Control Groups) kann man einzelne Prozesse in Gruppen ordnen und Systemressourcen entsprechend der Priorität der Gruppe zuweisen. Dies geschieht mit Hilfe des sog. Schedulers, der eine Warteschlange (engl. »queue«) bildet, die nach festgesetzten Prioritäten abgearbeitet wird. Um nun Prozesse während der Ausführung identifizieren, überwachen und gegebenenfalls beeinflussen zu können, werden ihnen vom Betriebssystem die PID (engl. »process ID«) zugeteilt. Üblicherweise werden diese PIDs in aufsteigender Reihenfolge vergeben und bleiben während der Systemlaufzeit unverändert.

Das Programm top

Um top zu starten, öffnet man zunächst ein Terminal. Nach Eingabe des Befehls

$ top

füllt sich der Bildschirm mit allerlei Daten. Zuerst zum oberen Bereich der Anzeige:

top - 20:14:42 up 57 min,  1 user,  load average: 0.97, 1.11, 1.08
Tasks: 140 total,   1 running, 138 sleeping,   0 stopped,   1 zombie
Cpu(s): 20.3%us, 3.8%sy, 0.0%ni, 75.2%id, 0.7%wa, 0.0%hi, 0.0%si, 0.0%st
Mem:2051164k total,1885820k used,165344k free,114608k buffers
Swap:0k total,0k used,0k free,1018520k cached

In Zeile 1 informiert top - 20:14:42 up 57 min über die Uhrzeit und wie lange der Rechner bereits genutzt wird. Dahinter folgen die Anzahl der eingeloggten User (1 user) sowie mit load average: 0.97, 1.11, 1.08 die Anzeige der Last, die die CPU zu bearbeiten hat.

Die Last (engl. »load average«) zeigt die CPU-Auslastung der letzten 1, 5 und 15 Minuten an. Dieser Wert ist durch die Anzahl der vorhandenen logischen CPU-Kerne zu teilen, sodass der angezeigte Wert von 1.08 bei einer CPU mit zwei logischen Kernen einer Gesamtauslastung von 0.54 bzw. 54% des Systems entspricht.

In der zweiten Zeile ist die Anzahl der gestarteten Prozesse und deren Status zu sehen. Bei einem Zombie-Prozess handelt es sich übrigens um einen sogenannten Kind-Prozess, der von einem Eltern-Prozess gestartet, aber nicht wieder beendet wurde. Diese Zombies sind harmlos, in größeren Mengen blockieren sie aber einigen Arbeitsspeicher und PIDs.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung