Beim Start zeigt Kpm Auslastung, CPU-Nutzung, Speichernutzung, Nutzung der Auslagerungsdatei und Gesamtlaufzeit des Systems sowie eine zusammengefasste Ansicht der Prozesse an.
Die Auslastungsanzeige zeigt die durchschnittliche Systemauslastung grafisch an. Genaue Zahlen erscheinen, wenn auf das Feld Auslastungsanzeige geklickt wird.
Die cpu-Anzeige zeigt in Prozenten die CPU-Ressourcen an, die von Benutzer-, nice- und System-Prozessen verwendet werden, sowie die Leerl. (nicht verwendeten) Ressourcen. Klicken Sie auf die CPU-Anzeige, um auf Textanzeige mit exakten Prozentwerten umzuschalten.
Die Speicher-Anzeige zeigt den genutzten Speicher an. Die Anzeige ist unterteilt in gebr.(gebraucht), Puffer-, zwi (zwischengespeicherter) und freien Speicher. Klicken Sie auf Spei, um die Anzeige auf exakte Zahlen (in Megabyte) einschließlich der Gesamtspeichermenge umzuschalten.
Die swap-Anzeige zeigt den Anteil des genutzten Auslagerungsspeichers. Klicken Sie auf swap, um auf eine Textanzeige mit der exakten Menge in Megabyte umzuschalten. Außerdem wird die Gesamtmenge an Auslagerungsspeicher angezeigt.
Die läuft-seit-Anzeige zeigt an, wie lange das System bereits läuft.
In der Standardeinstellung zeigt die Prozessliste die Benutzerfelder aller Prozesse an. Sie kann auch so eingestellt werden, dass sie nur eigene Prozesse, Nicht-Root-Prozesse oder alle laufenden Prozesse anzeigt. Außer den Benutzerfeldern können auch die Programm- oder Speicherfelder angezeigt werden. Schließlich ist es auch möglich, eine selbst zusammengestellte Felderliste anzeigen zu lassen. Ein Klick auf einen Spaltenkopf sortiert die Prozessliste nach dieser Spalte. Ein zweiter Klick auf die gleiche Spalte kehrt die Sortierreihenfolge um.
Prozess-ID. Jedem Prozess wird eine eigene Prozess-Identifikations-Nummer (PID) zugeordnet. Diese Nummer ist 1 oder größer. Wird ein neuer Prozess gestartet, so erhält dieser die nächst höhere, unbenutzte PID-Nummer. PID-Nummern sind (momentan) "16bit signed" Integer-Werte und haben einen Wert von 0 bis 32767. Dies als Information für technisch Interessierte.
Prozess-Benutzer. Hierbei handelt es sich um den (wirklichen) Benutzer, der den jeweiligen Prozess gestartet hat. Falls die tatsächliche Benutzer-ID eines Prozesses sich von der wirklichen Benutzer-ID unterscheidet, wird dies von Kpm durch ein angehängtes * oder + gekennzeichnet. Der Stern zeigt an, dass der tatsächliche Benutzer der Super-User ist (genaugenommen zeigt er an, dass das Programm setuid "root" ist).
Länge des nächsten Prozessor-Zeitintervalls. Dies ist die maximale Zeit, die einem Prozess beim nächsten Aktivieren zugewiesen werden kann. (oder die maximale Restzeit des laufenden Zeitintervalls, falls der Prozess zur Zeit bearbeitet wird). Die Zahl entspricht einem Wert innerhalb einer Skala von -20 bis +20, wobei kleinere Zahlen einem längeren Zeitintervall entsprechen.
Der Prozessprioritätswert. Der "nice"-Wert bestimmt, wie häufig und wie lange ein Prozess laufen darf. Der Wert selbst liegt zwischen -20 und +20, wobei 0 den Standardwert darstellt. Niedrigere Zahlen weisen einem Prozess mehr Prozessorzeit zu. Das Herabsetzen von "nice"-Werten ist ausschließlich dem Super-User vorbehalten.
Virtuelle Größe des Prozesses (KBytes). Dies ist die Gesamtgröße des Prozesses. Dazu gehören der gesamte Prozesscode, die Daten und die gemeinsam genutzten Bibliotheken ("shared libraries") einschließlich der Seiten, die ausgelagert sind.
"resident set size" (Größe in KBytes). Hierbei handelt es sich um die Größe des Prozessteils (Code, Daten und die gemeinsam genutzte Bibliotheken), der sich tatsächlich im RAM befindet. Dieser Wert ergibt eine gute Abschätzung der RAM-Menge, die ein Prozess verwendet.
Gemeinsam genutzter Speicher (Größe in KByte). Dieser Wert gibt die Speichermenge an, die sich ein Prozess mit anderen Prozessen teilt oder teilen könnte. Dabei sagt dies nicht aus, dass von dieser Speichermenge auch tatsächlich irgendein Teil von anderen Prozessen verwendet wird. Der Wert gibt lediglich an, wieviel Speicher mit anderen Prozessen geteilt werden kann.
Zustand eines Prozesses. Ein Prozess befindet sich immer in einem der folgenden Zustände:
(running): Der Prozess läuft auf der CPU oder ist bereit für die Ausführung.
(sleeping): Der Prozess wartet auf ein Ereignis (etwa auf eine Ein-/Ausgabe oder auf den Zeitgeber).
(uninterruptable sleep): Der Prozess wartet auf ein Ereignis, ohne dass er hierbei unterbrochen werden kann (z.B. der Wartezustand eines Gerätetreibers).
(stopped): Der Prozess wurde beendet oder wird durch einen anderen Prozess verfolgt ("traced").
(zombie): Der Prozess wurde beendet, ohne dass der übergeordnete "parent"-Prozess hiervon bislang Kenntnis genommen hat.
Der Prozess wurde komplett auf die Festplatte ausgelagert (er besitzt keine im Speicher befindlichen Seiten mehr). Dies erfolgt auch bei Kernel-Prozessen, z.B. kswapd.
Prozentuale CPU-Last seit der letzten Aktualisierung. Dieser Wert gibt an, wieviel CPU-Zeit (in Prozent) ein Prozess seit der letzten Aktualisierung der Prozessliste verwendet hat.
Prozentsatz des benutzten Speichers. Dieser Wert gibt an, welcher prozentuale Anteil des gesamten RAM-Speichers von einem Prozess verwendet wird (ausgehend vom Wert unter "rss"). Da gemeinsam genutzte Bibliotheken ebenfalls zu der Berechnung hinzugezählt werden, handelt es sich möglicherweise um einen zu hohen Wert.
Verwendete Gesamt-CPU-Zeit. Dies gibt an, wieviel CPU-Zeit ein Prozess seit seinem Start gebraucht hat.
Befehlszeile, die den Prozess aufgerufen hat. Dies ist die Befehlszeile inklusive eventueller Argumente, mit der ein Prozess erzeugt wurde. Ausgelagerte Prozesse werden mitunter nur durch den in Klammern gesetzten Befehlsnamen aufgeführt (dies gilt auch für Kernel-Prozesse).
Prozess-ID. Jedem Prozess wird eine eigene Prozess-ID-Nummer (PID) zugeordnet. Diese Nummer ist 1 oder größer. Wird ein neuer Prozess gestartet, so erhält dieser die nächst höhere, unbenutzte PID-Nummer. PID-Nummern sind (momentan) "16bit signed" Integer-Werte und haben einen Wert von 0 bis 32767. Dies als Information für technisch Interessierte.
"Parent"-Prozess ID. Jeder Prozess wird einem übergeordneten Prozess, dem Eltern- oder "Parent"-Prozess zugeordnet. Die einzige Ausnahme ist hierbei der allererste Prozess init mit der PID-Nummer 1. Dieser Prozess stellt quasi die Wurzel des Prozessbaumes dar und besitzt daher keinen "Parent"-Prozess.
Prozess-Gruppen ID. Jeder Prozess gehört zu einer Gruppe von Prozessen. Diese Gruppen werden für die Verteilung von Prozesssignalen verwendet. Sie werden ebenfalls von Terminals eingesetzt, um über ihre Eingabeaufforderungen zu entscheiden. Prozesse, die derselben Prozessgruppe angehören, dem auch das Terminal zugeordnet ist, befinden sich im Vordergrund und besitzen somit das Recht, Lesezugriffe zu tätigen. Prozesse, die einer anderen Gruppe angehören, werden blockiert und erzeugen ein Signal, falls sie dennoch versuchen, einen Lesezugriff zu unternehmen.
Sitzungs-ID. Sitzungs-IDs werden hauptsächlich eingesetzt, um festzulegen, was bei einem Absturz des Terminals geschehen ist.
Verwaltendes Terminal(tty). Das verwaltende Terminal ist üblicherweise das Gerät (seriell Schnittstelle, pty, etc..), von dem aus Prozesse gestartet werden. Dieses Terminal wird gleichzeitig für Ein- und Ausgaben verwendet. Kpm durchsucht das /dev-Verzeichnis, um den Namen des Terminals herauszufinden. Es sind jedoch nicht alle Prozesse einem verwaltenden Terminal zugeordnet. Daher kann diese Suche erfolglos verlaufen. Um Platz zu sparen, werden nur die letzten beiden Zeichen des tty-Namens angezeigt. Das Terminal /dev/ttyp6 wird beispielsweise als p6 angezeigt.
Prozess-Gruppen ID des tty-Prozesses. Jedes benutzte Terminal tty ist einem Prozess zugeordnet. Die Prozess-Gruppen ID dieses Prozesses wird unter TPGID angezeigt.
Zustand eines Prozesses. Ein Prozess befindet sich immer in einem der folgenden Zustände:
(running): Der Prozess läuft auf der CPU oder ist bereit für die Ausführung.
(sleeping): Der Prozess wartet auf ein Ereignis (etwa auf eine Ein-/Ausgabe oder auf den Zeitgeber).
(uninterruptable sleep): Der Prozess wartet auf ein Ereignis, ohne dass er hierbei unterbrochen werden kann (z.B. der Wartezustand eines Gerätetreibers).
(stopped): Der Prozess wurde beendet oder wird durch einen anderen Prozess verfolgt ("traced").
(zombie): Der Prozess wurde beendet, ohne dass der übergeordnete ("parent"-)Prozess hiervon bislang Kenntnis genommen hat.
Der Prozess wurde komplett auf die Festplatte ausgelagert (er besitzt keine im Speicher befindlichen Seiten mehr). Dies erfolgt auch bei Kernel-Prozessen, z.B. kswapd.
Numerische Benutzer-ID. Dies ist die ID des (wirklichen) Benutzers, dem der Prozess gehört.
Verwendete Gesamt-CPU-Zeit. Dies gibt an, wieviel CPU-Zeit ein Prozess seit seinem Aufruf gebraucht hat.
Befehlszeile, die den Prozess aufgerufen hat. Dies ist die Befehlszeile inklusive eventueller Argumente, mit der ein Prozess erzeugt wurde. Ausgelagerte Prozesse werden mitunter nur durch den in Klammern gesetzten Befehlsnamen aufgeführt (dies gilt auch für Kernel-Prozesse).
Prozess-Identifikation. Jedem Prozess wird eine eigene Prozess-ID-Nummer (PID) zugeordnet. Diese Nummer ist 1 oder größer. Wird ein neuer Prozess gestartet, so erhält dieser die nächst höhere, unbenutzte PID-Nummer. PID-Nummern sind (momentan) "16bit signed" Integer-Werte und haben einen Wert von 0 bis 32767. Dies als Information für technisch Interessierte.
Verwaltendes Terminal (tty). Das aktive Terminal (tty) ist üblicherweise das Gerät (seriell Schnittstelle, pty, etc..), von dem aus Prozesse gestartet werden. Dieses Terminal wird gleichzeitig für Ein- und Ausgaben verwendet. Kpm durchsucht das /dev Verzeichnis, um den Namen des Terminals herauszufinden. Es sind jedoch nicht alle Prozesse einem aktiven Terminal zugeordnet. Daher kann diese Suche erfolglos verlaufen. Um Platz zu sparen, werden nur die letzten beiden Zeichen des tty-Namens angezeigt. Das Terminal /dev/ttyp6 wird beispielsweise als p6 angezeigt.
Anzahl der aufgetretenen schwerwiegenden Fehler ("major faults"). Ein Seitenfehler ("page fault") tritt auf, wenn ein Prozess versucht, entweder lesend oder schreibend auf eine Speicherseite zuzugreifen, die sich nicht im RAM befindet. Es handelt sich um einen schwerwiegenden Seitenfehler, wenn ein Zugriff auf die Festplatte benötigt wird, z.B. für Auslagerungen oder das Einlesen von Speicherseiten.
Anzahl der aufgetretenen leichten Fehler ("minor faults"). Ein Seitenfehler ("page fault") tritt auf, wenn ein Prozess versucht, entweder lesend oder schreibend auf eine Speicherseite zuzugreifen, die sich nicht im RAM befindet oder versucht, auf eine Seite zu schreiben, auf die kein Schreibzugriff möglich ist. Es handelt sich um einen leichten Fehler, wenn hierbei kein Zugriff auf die Festplatte erfolgen muss, z.B. ein Schreibzugriff auf eine mit "copy-on-write" gemeinsam benutzte Seite ("shared page").
"Text resident set size" (Größe in KByte). Hierbei handelt es sich um die Größe des Prozesstextes (der ausführbare Programmcode), der sich momentan im RAM befindet.
"Data resident set size" (Größe in KByte). Hierbei handelt es sich um die Größe der Prozessdaten (nicht ausführbarer Programmcode), der sich momentan im RAM befindet.
Virtuelle Grösse des Prozesses (KByte). Dies ist die Gesamtgröße des Prozesses. Dazu gehören der gesamte Prozesscode, die Daten und die gemeinsam genutzten Bibliotheken ("shared libraries") einschließlich der Seiten, die ausgelagert sind.
Umfang der Auslagerung (in KByte). Dies ist die Differenz zwischen SIZE und RSS. Mit anderen Worten sagt dieser Wert, in welchem Umfang Teile des Prozesses auf die Festplatte ausgelagert wurden.
"resident set size" (Größe in KBytes). Hierbei handelt es sich um die Größe des Prozessteils (Code, Daten und die gemeinsam genutzte Bibliotheken), der sich tatsächlich im RAM befindet. Man erhält eine gute Abschätzung der RAM-Menge, die ein Prozess verwendet.
Gemeinsam genutzter Speicher (Größe in KBytes). Dieser Wert gibt die Speichermenge an, die ein Prozess sich mit anderen Prozessen teilt oder teilen könnte. Dabei sagt dies nicht aus, dass von dieser Speichermenge auch tatsächlich irgendein Teil von anderen Prozessen verwendet wird. Der Wert gibt lediglich an, wieviel Speicher mit anderen Prozessen geteilt werden kann.
Anzahl an "dirty pages". Hierbei ist die Anzahl an RAM-Seiten (nicht die Anzahl Bytes!) gemeint, die seit dem letzten Zugriff auf die Festplatte verändert wurden. "Dirty pages" müssen zuerst auf die Festplatte geschrieben werden, bevor sie wieder für andere Dinge freigegeben werden können.
Befehlszeile, die den Prozess aufgerufen hat. Dies ist die Befehlszeile inklusive eventueller Argumente, mit der ein Prozess erzeugt wurde. Ausgelagerte Prozesse werden mitunter nur durch den in Klammern gesetzten Befehlsnamen aufgeführt (dies gilt auch für Kernel-Prozesse).
Prozess-Ablaufplan ("Scheduling policy"). FIFO (F) und "Round-Robin" (R) sind Echtzeit-Ablaufpläne; "OTHER" (O) ist der bei UNIX übliche Ablaufplan zur Verteilung der CPU-Zeit. F- und R-Prozesse haben eine Echtzeitpriorität zwischen 1 und 99. Nachdem "Round-Robin" Prozesse für die Dauer einer Zeitscheibe ("time-slice") gelaufen sind, werden sie auf die letzte Position innerhalb der Warteschlange ihres Prioritätslevels gesetzt. FIFO Prozesse laufen solange, bis sie den Prozessor freigeben (durch das Versetzen in den Ruhezustand oder durch Blockierung) oder durch einen Prozess mit einem höheren Prioritätslevel an der weiteren Bearbeitung gehindert werden. Nur der Super-User (root) darf den Ablaufplan ("scheduling policy") verändern.
Echtzeit-Prioritätsstufen. Echtzeit-Prozesse (FIFO und "Round-Robin") werden Prioritätswerte zwischen 1 und 99 zugeordnet. Ein Prozess mit einer höheren Prioritätsstufe als ein anderer wird bei der Zuteilung der CPU-Zeit bevorzugt. Normale Prozesse, die CPU-Zeit mit anderen Prozessen teilen ("policy"-Wert O) besitzen alle den Prioritätslevel 0. Nur der Super-User (root) darf die Echtzeit-Prioritätsstufen ändern.
Prozess-Kennzeichner ("flags", hex). Bitte sehen Sie wegen Details im Programmcode des Linux-Kernels nach.
Art des Schlafens eines Prozesses. Wenn ein Prozess auf ein Ereignis wartet, so wird die Art des Wartens hier angezeigt (Um den Namen abzukürzen sind die Präfixe "do_" oder "sys_" entfernt).
Durchschnittliche, prozentuale CPU-Last. Hierbei handelt es sich um den über die letzten 30 Sekunden gemittelten Prozentsatz der CPU-Zeit, die ein Prozess verwendet hat (exponentiell abnehmender Durchschnitt).
Anfangszeit des Prozesses. Dieser Wert gibt an, wann der Prozess erzeugt wurde.
Befehl, der den Prozess aufgerufen hat. In diesem Feld wird der Befehl (Dateiname) angezeigt, der den Prozess erzeugt hat. Zu lange Namen werden abgeschnitten.