プロセスの確認
psコマンドで実行します。まずはオプションなしの単純なパターン
$ ps PID TTY TIME CMD 21750 pts/0 00:00:00 ps 30490 pts/0 00:00:00 bash
表示の意味
PID・・・プロセス番号
TTY・・・プロセスを実行している制御端末
TIME・・・CPUの消費時間
CMD・・・実行コマンド
すべてのプロセスを確認
$ ps a
すべてのプロセスをユーザーフォーマットで表示
$ ps au
制御端末のないものも含むすべてのプロセスをユーザーフォーマットで表示
$ ps aux
特定のプロセスを確認する(ここではhttpd)
$ ps aux | grep httpd root 4250 0.0 0.1 413200 39388 ? Ss Feb26 0:55 /usr/sbin/httpd nobody 23957 17.6 0.1 426296 45972 ? R 17:23 0:01 /usr/sbin/httpd nobody 23958 3.5 0.1 418328 37932 ? S 17:23 0:00 /usr/sbin/httpd nobody 23984 10.7 0.1 422560 41852 ? S 17:23 0:00 /usr/sbin/httpd nobody 23985 6.1 0.1 421728 41468 ? S 17:23 0:00 /usr/sbin/httpd nobody 23986 1.6 0.1 423500 41816 ? S 17:23 0:00 /usr/sbin/httpd nobody 23987 1.8 0.0 0 0 ? Z 17:23 0:00 [httpd] <defunct> nobody 23988 3.2 0.1 423456 42744 ? S 17:23 0:00 /usr/sbin/httpd nobody 23989 2.7 0.1 421540 41456 ? S 17:23 0:00 /usr/sbin/httpd nobody 23991 10.5 0.1 444792 63724 ? S 17:23 0:00 /usr/sbin/httpd 500 24130 0.0 0.0 107456 940 pts/0 S+ 17:23 0:00 grep httpd
STATのアルファベットの意味
R・・・稼働中
S・・・スリープ中
D・・・スリープ中(現在制御不可)
T・・・停止処理中、またはトレース中
Z・・・ゾンビ状態
以前起きたトラブル
nagiosからプロセス増加の警告
→ps aux | grep httpdでapacheのプロセスを確認
→スリープ状態のhttpdが大量にある
とりあえずは以下で対処できます
・killコマンドで個別にプロセスを消す
・apache再起動