Show Table of Contents
第19章 システムモニタリングツール
システムを設定するには、多くの場合システム管理者は空きメモリの容量、空きディスク領域、ハードディスクのパーティション設定状況、実行中のプロセスを決定する必要があります。
19.1. システムプロセスの表示
19.1.1. ps コマンドの使用
ps
コマンドは、実行中のプロセスについての情報を表示します。静的な一覧、すなわちコマンドを実行するときに実行しているプロセスのスナップショットです。実行中のプロセスを定期的に更新した一覧を表示させるには、top
コマンドまたは システムモニター アプリケーションを代わりに使用します。
他のユーザーが所有しているプロセスを含め、現在システム上で実行中の全プロセスを一覧表示するには、シェルプロンプトで以下を入力します。
ps
ax
一覧表示された各プロセスについて
ps ax
コマンドが表示するのは次のとおりです。プロセス ID (PID
)、それに関連付けされたターミナル (TTY
)、現在のステータス (STAT
)、累積 CPU 時間 (TIME
)、実行ファイル名 (COMMAND
) です。例えば以下のとおりです。
~]$ ps ax
PID TTY STAT TIME COMMAND
1 ? Ss 0:01 /sbin/init
2 ? S 0:00 [kthreadd]
3 ? S 0:00 [migration/0]
4 ? S 0:00 [ksoftirqd/0]
5 ? S 0:00 [migration/0]
6 ? S 0:00 [watchdog/0]
[出力は省略されています]
各プロセスと同時に所有者も表示するには、以下のコマンドを使用します。
ps
aux
ps ax
コマンドで提供される情報以外に、ps aux
はプロセス所有者の有効なユーザー名 (USER
)、CPU のパーセンテージ (%CPU
) およびメモリ使用率 (%MEM
)、キロバイト単位での仮想メモリサイズ (VSZ
)、キロバイト単位での非スワップの物理メモリサイズ (RSS
)、プロセスの開始日時を表示します。例えば以下のとおりです。
~]$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 19404 832 ? Ss Mar02 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S Mar02 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S Mar02 0:00 [migration/0]
root 4 0.0 0.0 0 0 ? S Mar02 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S Mar02 0:00 [migration/0]
root 6 0.0 0.0 0 0 ? R Mar02 0:00 [watchdog/0]
[出力は省略されています]
ps
コマンドを grep
と組み合わせて使用しても、特定のプロセスが実行中かどうかを確認することができます。例えば、Emacs が実行中かどうかを知るには、以下を入力します。
~]$ ps ax | grep emacs
12056 pts/3 S+ 0:00 emacs
12060 pts/2 S+ 0:00 grep --color=auto emacs
利用可能なコマンドラインオプションの全一覧は、ps(1) の man ページを参照してください。
19.1.2. top コマンドの使用
top
コマンドは、システム上で実行中のプロセスの一覧をリアルタイムで表示します。また、システムのアップタイム、現在の CPU およびメモリ使用率、実行中のプロセスの合計数についての追加情報も表示します。さらには、一覧の並び替えやプロセスの kill などの操作も実行できます。
top
コマンドを実行するには、シェルプロンプトで以下を入力します。
top
一覧表示された各プロセスについて
top
コマンドが表示するのは次のとおりです。プロセス ID (PID
)、プロセス所有者の有効なユーザー名、(USER
)、優先度 (PR
)、nice 値 (NI
)、プロセスが使用する仮想メモリ容量 (VIRT
)、プロセスが使用する非スワップの物理メモリ容量 (RES
)、プロセスが使用する共有メモリ容量 (SHR
)、CPU のパーセンテージ (%CPU
) およびメモリ使用率 (%MEM
)、累積 CPU 時間 (TIME+
)、実行ファイル名 (COMMAND
) です。例えば以下のとおりです。
~]$ top
top - 02:19:11 up 4 days, 10:37, 5 users, load average: 0.07, 0.13, 0.09
Tasks: 160 total, 1 running, 159 sleeping, 0 stopped, 0 zombie
Cpu(s): 10.7%us, 1.0%sy, 0.0%ni, 88.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 760752k total, 644360k used, 116392k free, 3988k buffers
Swap: 1540088k total, 76648k used, 1463440k free, 196832k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14401 jhradile 20 0 313m 10m 5732 S 5.6 1.4 6:27.29 gnome-system-mo
1764 root 20 0 133m 23m 4756 S 5.3 3.2 6:32.66 Xorg
13865 jhradile 20 0 1625m 177m 6628 S 0.7 23.8 0:57.26 java
20 root 20 0 0 0 0 S 0.3 0.0 4:44.39 ata/0
2085 root 20 0 40396 348 276 S 0.3 0.0 1:57.13 udisks-daemon
1 root 20 0 19404 832 604 S 0.0 0.1 0:01.21 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
6 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
7 root 20 0 0 0 0 S 0.0 0.0 0:01.00 events/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuset
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 netns
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 async/mgr
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pm
[出力は省略されています]
表19.1 インタラクティブな top コマンド
コマンド | 詳細 |
---|---|
Enter、Space | 表示を最新の情報に直ちに更新します。 |
h、? | ヘルプ画面を表示します。 |
k | プロセスを kill します。プロセス ID およびプロセスに送信するシグナルがプロンプトされます。 |
n | 表示されるプロセス番号を変更します。番号を入力するようプロンプトされます。 |
u | 一覧をユーザー別に並べ替えます。 |
M | 一覧をメモリ使用率で並べ替えます。 |
P | 一覧を CPU 使用率で並べ替えます。 |
q | ユーティリティを終了して、シェルプロンプトに戻ります。 |
19.1.3. システムモニターツールの使用
システムモニター ツールの プロセス タブを使用することで、グラフィカルユーザーインターフェースからプロセスの表示、検索、優先度の変更、kill を行うことができます。
システムモニター ツールを起動するには、パネルから → → の順に選択するか、シェルプロンプトで
gnome-system-monitor
と入力します。その後、プロセス タブをクリックすると実行中のプロセスの一覧が表示されます。

図19.1 システムモニター — プロセス
一覧表示された各プロセスについて システムモニター ツールが表示するのは次のとおりです。プロセス名 (Process Name)、現在の状態 (Status)、CPU 使用量のパーセンテージ (% CPU)、nice 値 (Nice)、プロセス ID (ID)、メモリ使用量 (Memory)、プロセスが待機しているチャンネル (Waiting Channel)、セッションについての補足情報 (Session) です。特定のカラム別に情報を昇順で並び替えるには、コラム名をクリックします。再度コラム名をクリックすると、昇順と降順が切り替わります。
デフォルトでは、システムモニター ツールは現在のユーザーが所有しているプロセスの一覧を表示します。 メニューから各種オプションを選択すると、以下を実行できます。
- 実行中のプロセスのみの表示
- すべてのプロセスの表示
- ユーザーのプロセスの表示
- プロセスの依存関係の表示
- 選択したプロセスのメモリマップの表示
- 選択したプロセスで開いたファイルの表示
- プロセス一覧を最新の情報に更新
また、
メニューの各種オプションを使用すると以下を実行できます。
- プロセスの停止
- プロセスの再開
- プロセスの終了
- プロセスの kill (強制終了)
- 選択したプロセスの優先度の変更
- システムモニター 設定 (プロセスの一覧を更新する間隔や表示する情報) の編集
プロセスを終了するには、一覧からプロセスを選択して、
ボタンをクリックしても可能です。