Linux豆知識 201
「/proc/<pid>/status」ファイル
公開日:2017年03月31日
例として、プロセスIDが1489である、sshが走っているstatusのファイルを見てみましょう。
--
$ cat /proc/1489/status
Name: sshd
State: S (sleeping)
Tgid: 1489
Ngid: 0
Pid: 1489
PPid: 1
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 64
Groups:
VmPeak: 82472 kB
VmSize: 82468 kB
VmLck: 0 kB
(以下略)
---
他にも沢山の表示項目がありますが、以下に一部だけ紹介します。
Name: プロセスによって実行されたコマンド
State: プロセスの現在の状態
Tgid: スレッドグループID
TracerPid: 該当プロセスをトレースしているプロセスのID
FDSize: 割り当てられているファイルディスクリプタスロット数
Groups: 補助グループ一覧
VmPeak: 仮想メモリサイズのピーク値
VmSize: 仮想メモリサイズ
VmLck: ロックされているメモリサイズ
Stateの項目に表示される内容は、
「R (running)」=実行中
「S (sleeping)」=休眠状態
「D (disk sleep)」=ディスク待ち休眠状態
「T (stopped)」=停止状態
「T (tracing stop)」=トレースによる停止
「Z (zombie)」=ゾンビ状態
「X (dead)」=死亡
を表します。
このファイルは、情報の宝庫です。「集計」「確認」「トラブルへの対処」などを行いたいというときに、とても役に立つファイルです。様々なシステム管理系のプログラムが、このような情報を参照しています。
システムの内部動作について理解を深めるための手がかりとして、このような情報が参照できることは覚えておいてください。