2017年2月27日月曜日

実行中のプロセスの調べ方

そもそもプロセスって何?・・・Linuxで動作中のプログラム。タスクとも呼ばれる。プロセスには親子関係があり、親プロセスが子プロセスを生む。

プロセスの確認
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再起動

0 件のコメント:

コメントを投稿