/proc で見るプロセスの正体
Pro会員限定上級約40分7レッスン
ps の数字の出どころである /proc を直接読みます。load と CPU 数、pgrep、/proc/<PID>/status と limits、ps -o と --sort、ゾンビの親探しまで扱います。「重い」「おかしい」を根拠のある言葉で説明できるようになる講座です。
対象者: ps や top の数字の意味を根拠から理解したい方
前提知識: 中級 総仕上げ 修了程度
この教材を終えると、できるようになること
- /proc/loadavg の値を CPU(論理コア)数と比べて、負荷が高いかどうかを判断できるようになる。
- pgrep の -a / -l / -u を使い分けて、目的のプロセスの PID を素早く特定できるようになる。
- /proc/<PID>/status の State・PPid・VmRSS・Threads を読み取れるようになる。
- /proc/<PID>/limits で開けるファイル数の上限を確認し、/proc/<PID>/fd で実際に開いている数と比べられるようになる。
- ps -eo で表示する列を選び、--sort で並べ替えて、リソースを多く使うプロセスを特定できるようになる。
- STAT が Z のゾンビプロセスを見つけ、PPID から回収すべき親プロセスを特定できるようになる。
修了後の姿: 障害の根本原因をログとコマンドで突き止められる、チームに頼られる運用エンジニアへ。
Chapter 1/proc を読む
/proc はカーネルが見せている「今この瞬間の状態」。ps も top もここを読んでいます。
- load average は CPU 数で割って読む/proc/loadavg と /proc/cpuinfo約6分(有料会員限定)
- pgrep で PID を引くps | grep の代わりに使う約6分(有料会員限定)
- /proc/PID/status を読む状態・親・メモリ・スレッド数を一度に見る約6分(有料会員限定)
- 上限と開いているファイル数「Too many open files」を未然に見つける約6分(有料会員限定)
- ps -o と --sort で必要な列だけ並べるメモリを食っている順にプロセスを並べる約6分(有料会員限定)
- ゾンビ(Z)の親を探すkill できないプロセスは、親を見る約5分(有料会員限定)
Chapter 2確認クイズ
/proc とプロセスの読み方の理解度をチェック。