psコマンドの使い方
psコマンド
ps
実行結果
PID TTY TIME CMD 3132 pts/1 00:00:00 su 3133 pts/1 00:00:00 bash 3954 pts/1 00:00:00 ps
こんな感じのものが表示される
基本的には aux
オプションを付けて使うので ps 単体で使うことはあまりない
ps auxの使い方
psコマンドのオプション
a
allの略
デフォルトでは自分のプロセスしか表示されないが
aオプションをつけるとすべてのユーザのプロセスが表示される
u
各プロセスの実行ユーザやCPU使用率、メモリ使用率などの詳細データが表示される
x
端末を持たないデーモンなどのプロセスも表示
f
関連するプロセスをツリー上にまとめる
ps auxを実行
ps aux
実行結果
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 190912 2636 ? Ss 16:52 0:03 /usr/lib/systemd/systemd --switched-root --system root 2 0.0 0.0 0 0 ? S 16:52 0:00 [kthreadd] root 4 0.0 0.0 0 0 ? S< 16:52 0:00 [kworker/0:0H] root 6 0.0 0.0 0 0 ? S 16:52 0:01 [ksoftirqd/0] root 7 0.0 0.0 0 0 ? S 16:52 0:00 [migration/0]
ps auxfの使い方
関連するプロセスをツリー上にまとめて見やすくする
ps auxfを実行
ps auxf
実行結果
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 2 0.0 0.0 0 0 ? S 16:52 0:00 [kthreadd] root 4 0.0 0.0 0 0 ? S< 16:52 0:00 \_ [kworker/0:0H] root 6 0.0 0.0 0 0 ? S 16:52 0:01 \_ [ksoftirqd/0] root 7 0.0 0.0 0 0 ? S 16:52 0:00 \_ [migration/0] root 8 0.0 0.0 0 0 ? S 16:52 0:00 \_ [rcu_bh]
[kthreadd]
の下に
[kworker/0:0H]
などのプロセスがぶら下がっていることがわかる
grepでターゲットを絞り込む
ps auxf | grep -e php-fpm -e PID
ps auxf | grep php-fpm
このコマンドだと、見出し行がカットされてしまうので
どの項目が何の値なのか分からない
ps auxf | grep -e php-fpm -e PID
grepで-e
オプションをつけると複数の条件でOR検索できる
PID
を含む行も表示することで、お目当てのプロセス(php-fpm
)に加えて見出し行を出力できる
- 実行結果
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 758 0.0 1.0 513104 40804 ? Ss 14:18 0:00 php-fpm: master process (/etc/opt/kusanagi/php-fpm.conf) httpd 918 0.3 5.2 996080 198348 ? S 14:18 0:52 \_ php-fpm: pool www httpd 919 0.2 5.2 992836 195100 ? S 14:18 0:37 \_ php-fpm: pool www httpd 920 0.2 5.1 992808 193636 ? S 14:18 0:36 \_ php-fpm: pool www httpd 921 0.2 5.2 995528 197772 ? S 14:18 0:35 \_ php-fpm: pool www httpd 2386 0.3 4.6 619144 174616 ? S 15:23 0:36 \_ php-fpm: pool www httpd 2388 0.2 4.8 629428 183140 ? R 15:23 0:24 \_ php-fpm: pool www httpd 2389 0.1 5.3 997268 199740 ? R 15:23 0:13 \_ php-fpm: pool www httpd 2392 0.3 5.2 996132 197372 ? S 15:23 0:37 \_ php-fpm: pool www httpd 2393 0.2 5.1 993464 192696 ? S 15:23 0:20 \_ php-fpm: pool www httpd 2394 0.3 4.8 625748 182592 ? R 15:23 0:32 \_ php-fpm: pool www httpd 2395 0.2 4.7 626132 179412 ? R 15:23 0:26 \_ php-fpm: pool www httpd 2400 0.2 4.8 622468 180244 ? S 15:23 0:27 \_ php-fpm: pool www httpd 2401 0.1 4.7 621904 176764 ? S 15:23 0:16 \_ php-fpm: pool www httpd 2402 0.3 4.8 622792 180528 ? S 15:23 0:32 \_ php-fpm: pool www httpd 2403 0.1 4.7 620840 177680 ? S 15:23 0:16 \_ php-fpm: pool www
ps auxの実行結果の見方
ps auxを実行して表示される各項目の意味
- USER: プロセスを実行しているユーザー
- PID: プロセスID
- %CPU: CPU使用率
- %MEM: 実メモリ使用率
- VSZ: 仮想メモリを含めたメモリの使用サイズ(単位はKB)
- RSS: 実メモリの使用サイズ(単位はKB)
- TTY: 端末名
- STAT: プロセスのstate(状態)
- START: プロセスが開始した時刻
- TIME: プロセスが起動してからの経過時間
- COMMAND: プロセスが実行しているコマンド
STATの詳細
1文字目
- R: 実行状態または実行可能状態(実行キューにある)
- S: 割り込み可能なスリープ状態
- D: 割り込み不可能なスリープ状態(ディスクの入出力待ちなど)
- T: 停止中
- Z: すでに実態がないゾンビプロセス
- W: ページング状態(実メモリ上にはなく、仮想メモリにスワップアウトしたもの)
2文字目
- <: 優先度が高いプロセス
- N: 優先度が低いプロセス
- s: セッションリーダー
- l: マルチスレッドのプロセス
- +: フォアグラウンドのプロセス