第24章 システムモニタリングツール
システムを設定するには、多くの場合システム管理者は空きメモリの容量、空きディスク領域、ハードディスクのパーティション設定状況、実行中のプロセスを決定する必要があります。
24.1. システムプロセスの表示
24.1.1. ps コマンドの使用
ps コマンドは、実行中のプロセスについての情報を表示します。静的な一覧、すなわちコマンドを実行するときに実行しているプロセスのスナップショットです。実行中のプロセスを定期的に更新した場合は、top コマンドまたは System Monitor アプリケーションを代わりに使用します。
他のユーザーが所有しているプロセスを含め、現在システム上で実行中の全プロセスを一覧表示するには、シェルプロンプトで以下を入力します。
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] [output truncated]
各プロセスと同時に所有者も表示するには、以下のコマンドを使用します。
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] [output truncated]
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 ページを参照してください。
24.1.2. top コマンドの使用
top コマンドは、システムで実行しているプロセスのリアルタイムの一覧を表示します。また、システムのアップタイム、現在の CPU およびメモリ使用率、実行中のプロセスの合計数についての追加情報も表示します。さらには、一覧の並び替えやプロセスの kill などの操作も実行できます。
top コマンドを実行するには、シェルプロンプトで以下を入力します。
top
一覧表示された各プロセスについて top コマンドはプロセス ID(
PID
)、プロセス所有者の実効ユーザー名(USER
)、優先度(PR
)、優れた値(NI
)、プロセスが使用する仮想メモリー容量(VIRT
)、プロセスが使用する非スワップ物理メモリー容量(RES
)、プロセスが使用する共有メモリー容量(SHR
)、プロセスステータスフィールド S
)を表示します。 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 [output truncated]
コマンド | 詳細 |
---|---|
Enter、Space | 表示を最新の情報に直ちに更新します。 |
h, ? | ヘルプ画面を表示します。 |
k | プロセスを強制終了します。プロセス ID およびプロセスに送信するシグナルがプロンプトされます。 |
-n | 表示されるプロセス番号を変更します。番号を入力するようプロンプトされます。 |
u | 一覧をユーザー別に並べ替えます。 |
M | 一覧をメモリ使用率で並べ替えます。 |
%P | 一覧を CPU 使用率で並べ替えます。 |
q | ユーティリティーを終了して、シェルプロンプトに戻ります。 |
24.1.3. システムモニターツールの使用
System Monitor ツールの Processes タブを使用すると、グラフィカルユーザーインターフェースからプロセスの表示、検索、優先度の変更、kill を行うことができます。このツールをインストールするには、
root
で以下のコマンドを発行します。
~]# yum install gnome-system-monitor
System Monitor ツールを起動するには、パネルから を選択するか、シェルプロンプトで gnome-system-monitor と入力します。次に Processes タブをクリックして実行中プロセスの一覧を表示します。
図24.1 システムモニター — プロセス
[D]
一覧のプロセスごとに、System Monitor ツールは 名前(Process Name)、現在のステータス(ステータス)、CPU 使用率のパーセンテージ(% CPU)、nice 値(Nice)、プロセス ID(ID)、メモリー使用量(メモリー)、プロセスが待機中のチャネル(Waiting Channel)、およびセッション(セッション)に関する追加情報を表示します。特定の列で昇順で情報を並べ替えるには、その列の名前をクリックします。特定のコラム別に情報を昇順で並び替えるには、コラム名をクリックします。
デフォルトでは、System Monitor ツールは現在のユーザーが所有しているプロセスの一覧を表示します。 メニューからさまざまなオプションを選択すると、以下が可能になります。
- 実行中のプロセスのみの表示
- すべてのプロセスの表示
- ユーザーのプロセスの表示
- プロセスの依存関係の表示
- 選択したプロセスのメモリーマップの表示
- 選択したプロセスで開いているファイルの表示
- プロセスの一覧を更新します。
さらに、
メニューのさまざまなオプションにより、以下が可能になります。
- プロセスを停止します。
- 停止したプロセスの実行を継続します。
- プロセスを終了します。
- プロセスを強制終了します。
- 選択したプロセスの優先度を変更する
- プロセスの一覧の更新間隔や表示する情報など、システムモニター の設定を編集します。
また、一覧からプロセスを選択し、
ボタンをクリックしてプロセスを終了することもできます。