Die Felder, die in der Prozessliste angezeigt werden, können unter dem Menüeintrag "Ansicht"-"Felder auswählen..." ausgewäht werden.
Jedem Prozess wird eine eigene Prozess-ID-Nummer 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.
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.
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-IDs werden hauptsächlich eingesetzt, um herauszufinden, was bei einem Absturz des Terminals geschehen ist.
Der aktive Terminal (tty) ist üblicherweise die Schnittstelle (seriell, pty, etc.), von der 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. Der Terminal /dev/ttyp6 wird beispielsweise als "p6" angezeigt.
Ein Terminal tty, das gerade benutzt wird, ist immer einem Prozess zugeordnet. Die Prozess-Gruppen ID dieses Prozesses wird unter TPGID angezeigt.
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 wird angegeben, wenn der tatsächliche Benutzer der Super-User ist (genaugenommen zeigt es an, dass die "set-uid" des Programms auf "root" eingestellt ist).
Der "nice"-Wert bestimmt, wie häufig und wie lange ein Prozess jeweils laufen darf. Der Wert selber liegt zwischen -20 und +20, wobei 0 den Standardwert darstellt. Niedrige Zahlen weisen einem Prozess mehr Prozessorzeit zu. Das Herabsetzen von "nice"-Werten ist ausschließlich dem Super-User vorbehalten.
Dies ist die maximale Lönge des kommenden Zeitintervalls, die einem Prozess an Prozessorzeit 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 kleine Zahlen einem längeren Zeitintervall entsprechen.
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 die ihnen zugeteilte Prozessorzeit aufgeben (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-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 0) besitzen alle den Prioritätslevel 0. Nur der Super-User (root) darf die Echtzeit-Prioritätsstufen ändern.
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.
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").
Hierbei handelt es sich um die Größe des Prozesstextes (der ausführbare Programmcode), der momentan im RAM geladen ist.
Hierbei handelt es sich um die Größe der Prozessdaten (nicht ausführbarer Programmcode), der momentan im RAM geladen ist.
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.
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.
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.
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.
Hierbei ist die Anzahl (nicht die Anzahl Bytes!) an RAM-Seiten 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.
Ein Prozess befindet sich immer in einem der folgenden Zustände:
R (running): Der Prozess läuft gerade auf der CPU oder ist bereit für die Ausführung
S (sleeping): Der Prozess wartet auf ein Ereignis (etwa auf eine Ein-/Ausgabe oder auf den Zeitgeber)
D (uninterruptable sleep): Der Prozess wartet auf ein Ereignis, ohne dass er hierbei unterbrochen werden kann (z.B. der Wartezustand eines Schnittstellentreibers)
T (stopped): Der Prozess wurde beendet oder durch einen anderen Prozess verfolgt ("traced")
Z (zombie): Der Prozess wurde beendet, ohne dass der übergeordnete "parent"-Prozess hiervon bislang Kenntnis genommen hat.
Falls ein Prozess komplett auf die Festplatte ausgelagert wurde (keine im Speicher befindlichen Seiten besitzt), so wird ein "W" in dem Feld angezeigt. Dies erfolgt auch bei Kernel-Prozessen, z.B. Kswapd.
Die folgende Liste enthält einige zusätzliche Informationen über den Zustand eines Prozesses. Bitte sehen Sie im Programmcode des Linux Kernels für weiterführende Details nach.
Wenn ein Prozess auf ein Ereignis wartet, dann befindet er sich in dieser Kernel-Funktion (Um den Namen abzukürzen sind die Präfixe "do_" oder "sys_" entfernt).
Dies ist die ID des (wirklichen) Benutzers, dem der Prozess gehört.
Hierbei handelt es sich um den über die letzten 30 Sekunden gemittelten Prozentsatz der CPU-Zeit, die ein Prozess verwendet (exponentiell abnehmender Durchschnitt).
Dieser Wert gibt an, wieviel CPU-Zeit (in Prozenten) ein Prozess seit der letzten Aktualisierung der Prozessliste verwendet hat.
Dies gibt an, welcher prozentuale Anteil des gesamten RAM-Speichers von einem Prozess verwendet wird (als "resident size"). Da gemeinsam genutzte Bibliotheken ebenfalls zu der Berechnung hinzugezählt werden, handelt es sich möglicherweise um einen zu hohen Wert.
Dieser Wert gibt an, wann der Prozess erzeugt wurde.
Dies gibt an, wieviel CPU-Zeit ein Prozess seit seinem Aufruf gebraucht hat.
In diesem Feld wird der Befehl (Dateiname) angezeigt, der den Prozess erzeugt hat. Zu lange Namen werden abgeschnitten.
Dies ist die Befehlszeile inklusive eventueller Argumente, mit der ein Prozess erzeugt wurde. Falls im Menü "Einstellungen" der Punkt "Befehlspfad anzeigen" nicht ausgewählt wurde, so wird der Name des Befehls abgeschnitten. Ausgelagerte Prozesse werden mitunter nur durch den in Klammern gesetzten Befehlsnamen aufgeführt (dies gilt auch für Kernel-Prozesse).