ps コマンド

ps コマンドは、現在実行中のプロセスを表示するためのコマンドです。プロセスのID(PID)、親プロセスのID(PPID)、実行中のユーザー、CPU使用率など、プロセスに関する詳細な情報を確認できます。ps コマンドはシステム管理やトラブルシューティングにおいて、プロセスの状態を確認するために頻繁に使用されます。

書式

ps [オプション]

主なオプション

オプション説明実行例
-eすべてのプロセスを表示ps -e
-fフルフォーマットで表示(UID, PPID, C など)ps -ef
-u <ユーザー名>指定したユーザーのプロセスを表示ps -u root
-p <PID>指定したプロセス ID の情報を表示ps -p 1234
-a端末に関連する全ユーザーのプロセスを表示ps -a
-x制御端末に関連しないプロセスも表示ps -x
-auxすべてのプロセスを詳細に表示(BSD 形式)ps aux
-o <フォーマット>出力フォーマットを指定ps -eo pid,comm,%cpu,%mem
–sort <キー>指定したキーでソートps aux –sort=-%cpu
-lロングフォーマットで詳細情報を表示ps -l
-T現在の端末のすべてのスレッドを表示ps -T

SysV形式

全てプロセスをフルフォーマットで表示

以下のコマンドで全てプロセスを表示します。

ps -ef

各項目の意味

ps -ef で表示した場合の各項目は以下のような意味を持っています。

項目説明
UIDプロセスを実行しているユーザーのID(User ID)
PIDプロセスのID(Process ID)
PPID親プロセスのID(Parent Process ID)
CスケジューラーのCPU使用率の指標(%CPUとは異なる)
STIMEプロセスが開始された時刻または日付
TTYプロセスが関連付けられている端末(制御端末)
TIMEプロセスが使用した累積CPU時間
CMD実行されたコマンド名(またはコマンドライン)

BSD形式で表示

全てプロセスをBSD形式で表示

ps aux

各項目の意味(BSD)

BSD形式で表示される各項目の意味は次の通りです。

項目説明
USERプロセスを実行しているユーザー名
PIDプロセスのID(Process ID)
%CPUCPU 使用率(プロセスが使用している CPU 時間の割合)
%MEMメモリ使用率(プロセスが使用している物理メモリの割合)
VSZ仮想メモリサイズ(Virtual Memory Size)。プロセスが利用できる仮想アドレス空間のサイズ(KB単位)
RSS常駐メモリサイズ(Resident Set Size)。実際に物理メモリ上にロードされているサイズ(KB単位)
TTYプロセスが関連付けられている端末(制御端末)。? は端末に関連付けられていないことを示す
STATプロセスの状態(S=スリープ, R=実行中, Z=ゾンビ, T=停止 など)
STARTプロセスの開始時刻または日付
TIMEプロセスが使用した累積 CPU 時間
COMMAND実行されたコマンド名(またはコマンドライン)

プロセスの状態

以下はSTATの表示例です。SysV、BSD形式で共通です。

記号説明
D割り込み不可のスリープ状態(通常は I/O 待ち)
Iアイドル状態のカーネルスレッド
R実行中 または 実行可能(CPU の実行キューに入っている)
S割り込み可能なスリープ状態(イベント待ち)
Tジョブ制御シグナルによって停止中(CTRL+Z など)
tデバッガによって停止中(トレース中)
Wページング中(カーネル 2.6 以降では無効)
X終了済み(通常は表示されない)
Zゾンビプロセス(親プロセスが処理していない終了済みプロセス)

SysV形式でSTATを確認するにはps -eo(表示フォーマット)でstatを指定します。

ps aux と同じような項目を表示

ps -eo user,pid,%cpu,%mem,vsz,rss,tty,stat,start,time,command

BSD 形式 (STAT に追加される記号)

記号説明
<高優先度プロセス(他のユーザーにとって “nice” ではない)
N低優先度プロセス(他のユーザーにとって “nice” なプロセス)
Lメモリにロックされたページを持つ(リアルタイム処理やカスタム I/O に使用)
sセッションリーダー(そのセッションの親プロセス)
lマルチスレッドプロセス(NPTL pthreads などでスレッドを使用)
+フォアグラウンドのプロセスグループに属している

ソート

「–sort」オプションを使用すると指定した項目順に並べることができます。

CPU使用率の高い順に並び変え

ps -eo user,pid,%cpu,%mem,vsz,rss,tty,stat,start,time,command --sort=-%cpu

仮想メモリサイズが大きい順に並び変える

ps -eo user,pid,%cpu,%mem,vsz,rss,tty,stat,start,time,command --sort=-vsz

コメント

タイトルとURLをコピーしました