2018年1月10日水曜日

[Linux] 実行中のプロセスを表示する


【試した環境】
Google Cloud Platform(GCP)[VMインスタンス]上で実行
OS : Linux(Debian 9.2)

実行中のプロセスを表示

実行中のプロセスを表示する
$ ps axfu
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         2  0.0  0.0      0     0 ?        S     2017   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S     2017  60:45  \_ [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<    2017   0:00  \_ [kworker/0:0H]
 :
www-data 24539  0.0  0.2 326192 19904 ?        S    21:02   0:00  \_ /usr/sbin/apache2 -k start
www-data 24782  0.0  0.2 326328 17492 ?        S    21:08   0:00  \_ /usr/sbin/apache2 -k start
 :
a 自分以外のユーザーのプロセスも表示する
x 制御端末のないプロセスの情報も表示する
f ツリー形式で表示する
u ユーザー名と開始時刻を表示する



grepしてフィルタ表示

このままでは関係のないプロセスも含めてたくさん表示されてしまうので、grepして表示しましょう。
$ ps axfu | grep php
user+ 24906  0.0  0.0  12784   964 pts/0    R+   12:18   0:00          |   \_ grep php
user+  1514  0.4 36.6 637412 374408 ?       S    Jan06  25:46 php function.php
[ | grep php ]を同時にコマンドに追加することで、[php]の文字列が存在する実行中のプロセスに絞ることができます。

表示要素

表示される要素は以下のとおり。
USER ユーザー
PID  プロセスID
%CPU プロセスのCPU使用率
%MEM プロセスが確保している物理メモリ
VSZ,RSS 仮想メモリ領域のサイズ、物理メモリ領域のサイズ
TTY  仮想端末ファイル
STAT プロセスの状態(詳細は後述)
START プロセスの開始時間
TIME プロセスが実際にCPUを使った時間
COMMAND プロセスの実行コマンド

<STAT列>
1文字目
 R:実行可能状態なプロセス
 S:割り込み可能な待ち状態
 D:ディスクIO待ちの状態
 Z:ゾンビプロセス状態(親プロセスに待たれずに死んでしまった子プロセス)
2文字目以降
 +:フォアグラウンドのプロセスグループ
 s:セッションリーダー
 <:優先度が高いプロセス
 N:優先度が低いプロセス
 l:マルチスレッドのプロセス

Windowsのタスクマネージャーと同じような用途で使うことができます。

実行中のプロセスを一覧して、メモリの使用量を調査したり、バックグラウンドで実行中のプロセスを止めたり暴走したプロセスを確認したり、止めたりします。
親子関係などを確認する場合にはpstreeコマンドを使います。
$ pstree
systemd─┬─acpid
        ├─2*[agetty]
        ├─apache2───6*[apache2]
        ├─cron
        ├─dbus-daemon
        ├─dhclient
        ├─google_accounts
        ├─google_clock_sk
        ├─google_ip_forwa
        ├─mysqld───28*[{mysqld}]
        ├─ntpd───{ntpd}
        ├─php
        ├─rsyslogd─┬─{in:imklog}
        │          ├─{in:imuxsock}
        │          └─{rs:main Q:Reg}
        ├─sshd─┬─sshd───sshd───sftp-server
        │      └─sshd───sshd─┬─bash───pstree
        │                    └─sftp-server
        ├─systemd-journal
        ├─systemd-logind
        └─systemd-udevd

【参考】


0 件のコメント:

コメントを投稿