各プロセスは固有のプロセス ID 番号を持っています。プロセス ID は 1 から始まり数が大きくなっていきます。新しいプロセスが生成 されると、次の未使用の PID が割り当てられます。PID は(現状では) 16 ビットの符号つき整数であり、したがって 32767 で最初に戻ります。 これは通常動作ですから心配する必要はありません。
各プロセスには 1 個の親プロセスがあります。例外はプロセス 1 (init)で、これはプロセス階層の頂点にあり、親はありません。
各プロセスはいずれかのプロセス グループに属しています。 プロセス グループはシグナルの分配に使われたり、端末の入力要求を 調停したりするのに使用されます。端末と同じプロセス グループの プロセスはフォアグラウンドに置かれ入力ができる状態を与えられます。 他のプロセスは、入力しようとした時にシグナルでブロックされます。
セッション ID は主に、端末の回線断時の動作を決定するのに 使用されます。
制御端末 (tty) は通常そのプロセスを起動したデバイス (シリアル ポートや pty 等)で、プロセスの入出力に使用されます。 全てのプロセスが制御端末を持っているわけではありません。kpm は /dev ディレクトリを調べて端末の名前を特定しようとしますが、 失敗することもあります。スペースを節約するため、端末名の末尾の 2 文字のみが表示されます(/dev/ttyp6 は p6 と表示されます)。
使用中の端末はプロセスによって所有されています。ここには そのプロセスの PGID が表示されます。
これはプロセスを所有する(実)ユーザ名です。実効ユーザ ID と 実ユーザ ID が異なる場合は、そのことが後続の "*" あるいは "+" に よって示されます。アスタリスクは実効ユーザがスーパーユーザである 時に使われます(これは普通バイナリが root に set-uid されている ことを表します)。
nice 値はプロセスが実効を許可される頻度とタイムスライスの 長さを決定します。この値は -20 から 20 の範囲にあり、0 がデフォルト です。低い値ほどプロセスに多くの CPU 時間が割り当てられます。 スーパーユーザのみが nice 値を下げることができます。
これはプロセスに与えられる次のタイムスライスの最大長を表します (実行中のプロセスについては、現在のタイムスライスの残りを表します)。 この数値は -20 から 20 までの範囲にスケールし直されています。小さい 値ほどタイムスライスが長いことを表します。
FIFO (F) と ラウンド ロビン (R) はリアルタイム スケジューリング 方針です。その他 (O) は通常の UNIX タイム シェアリング方針です。 F および R のプロセスは 1 から 99 の間のリアルタイム優先順位が 割り当てられています。あるプロセスは上位の優先順位に実行可能な プロセスがない時に実行されます。ラウンド ロビン プロセスは 1 タイムスライスの長さの間実行され、その後同じ優先順位のキューの 末尾に置かれます。FIFO プロセスは(スリープやブロッキングのために) CPU 時間を明け渡すまで、もしくは上位の優先順位のプロセスに 遮られるまで、実行が続けられます。スーパーユーザ (root) のみが、 スケジューリング方針を変更することができます。
リアルタイム プロセス (FIFO や ラウンド ロビン) は、1 から 99 までの優先順位を持っています。あるプロセスは、それより優先順位の 低い他のプロセスを退けます。通常のタイム シェアリング プロセス (方針 O)は、この優先順位が 0 です。スーパーユーザ (root) のみが リアルタイム優先順位を変更することができます。
ページ フォールトはプロセスが RAM 上に存在しないメモリ ページの 読み書きをしようとする時に発生します。メジャー ページ フォールトは ディスク アクセスが生じる場合で、例えばメモリ ページをスワップ イン、アウトする場合です。
ページ フォールトはプロセスが RAM 上に存在しないメモリ ページの 読み書きをしようとする時、あるいは書き込みできないページに書き込みを しようとした場合に発生します。マイナー フォールトはディスク アクセス の生じない場合で、例えばコピー オン ライトの共有ページに書き込みを 行う場合です。
これは現在 RAM 上に存在するプロセスのテキスト(すなわち実行 コード)のサイズです。
これは現在 RAM 上に存在するプロセスのデータ(実行コード以外 の部分)のサイズです。
これはプロセスのイメージの合計サイズです。これには全ての コード、データ、プロセスが使用している共有ライブラリが、スワップ アウトされているページまで含まれています。
これは単に SIZE と RSS の差で、プロセスのどれだけの部分が ディスク上に存在するかを表しています。
これはプロセスの実際に RAM に存在する部分(コードおよびデータ) の、共有ライブラリを含めた値です。これはプロセスが使用している RAM の量の正当な概算値を与えています。
これはプロセスが他のプロセスと共有するメモリの量を示します。 この部分は実際に他のプロセスによって使われているとは限らず、 単に使うことができる、というだけです。
これは前回ディスクへ書き込みが行われてから変更が行われた RAM 上のページの数(バイト数ではありません)を表します。ダーティ ページは解放したり他の用途で使用する前にディスクに書き込まれる 必要があります。
プロセスは常に、次のいずれかの状態になっています:
R (実行): プロセスが CPU で実行中あるいは実行可能。
S (休眠): プロセスがイベントの発生(入出力やタイマー等)を待機中。
D (割り込み不可の休眠): プロセスがイベントの発生を待機していて 割り込みを掛けることができない(通常デバイス ドライバ内での待機)。
T (停止): プロセスが停止中、あるいは他のプロセスにトレース されている。
Z (ゾンビ): プロセスが終了したが、まだその死を親に見取られていない。
プロセスが完全にスワップ アウトしている(常駐ページがない) 時には、このフィールドに 'W' が表示されます。(これはカーネル プロセスでも同じです。例えば kswapd。)
ここにはプロセスの状態に関する追加情報が入っています。 詳細は Linux のカーネル ソースを参照してください。
プロセスが何か起こるのを待機している時、ここには 止まっている所のカーネル関数が表示されます。(頭の do_ や sys_ は 短くするために省略されます。)
これはプロセスを所有する(実)ユーザの ID です。
これはプロセスが使用している CPU 時間のパーセンテージを 最近 30 秒間にわたって(重みを指数的に減らした)平均を取った ものです。
これは前回 kpm のプロセス テーブルを更新してから、どれだけ CPU 時間が使用されたかを示します。
これはプロセスが RAM のどれだけの部分を占有しているか(常駐量) を表しています。共有ライブラリも計算に入っていますから、誇張 された数値です。
プロセスが生成された時刻です。
プロセスが開始してからどれだけの CPU 時間を使用したかを示します。
プロセスを開始した時のコマンド(ファイル名)です。長い名前は 短く切られます。
プロセスを起動したコマンドラインで引数も含まれています。 オプション メニューで「コマンドのパスを表示」が選択していないと、 コマンド名の前に書かれたパスは省略されます。スワップ アウト されたプロセスはコマンド名を括弧でくくっただけの表示になります。 (これはカーネル プロセスでも同様です。)