第21章 システムモニタリングツール
システムを設定するには、多くの場合システム管理者は空きメモリーの容量、空きディスク領域、ハードディスクのパーティション設定状況、実行中のプロセスを決定する必要があります。
21.1. システムプロセスの表示
21.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 /usr/lib/systemd/systemd --switched-root --system --deserialize 23
2 ? S 0:00 [kthreadd]
3 ? S 0:00 [ksoftirqd/0]
5 ? S> 0:00 [kworker/0:0H]
[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.3 0.3 134776 6840 ? Ss 09:28 0:01 /usr/lib/systemd/systemd --switched-root --system --d
root 2 0.0 0.0 0 0 ? S 09:28 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 09:28 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S> 09:28 0:00 [kworker/0:0H]
[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 ページを参照してください。
21.1.2. top コマンドの使用
top
コマンドは、システムで実行しているプロセスのリアルタイムのリストを表示します。また、システムのアップタイム、現在の CPU およびメモリー使用率、実行中のプロセスの合計数についての追加情報も表示します。さらには、リストの並び替えやプロセスの kill などの操作も実行できます。
top
コマンドを実行するには、シェルプロンプトで以下を入力します。
top
リスト表示された各プロセスについて top
コマンドはプロセス ID (PID
)、プロセス所有者の実効ユーザー名、(USER
)、優先度 (PR
)、nice 値 (NI
)、プロセスが使用する仮想メモリー容量 (VIRT
)、プロセスが使用する非スワップ物理メモリー容量 (RES
)、プロセスが使用する共有メモリー容量 (SHR
)、プロセスステータスフィールド (S
)、CPU 使用率 (%CPU
) およびメモリー使用率 (%MEM
)、累積 CPU 時間 (TIME+
)、実行ファイル名 (COMMAND
) を表示します。以下に例を示します。
~]$ top top - 16:42:12 up 13 min, 2 users, load average: 0.67, 0.31, 0.19 Tasks: 165 total, 2 running, 163 sleeping, 0 stopped, 0 zombie %Cpu(s): 37.5 us, 3.0 sy, 0.0 ni, 59.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1016800 total, 77368 free, 728936 used, 210496 buff/cache KiB Swap: 839676 total, 776796 free, 62880 used. 122628 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3168 sjw 20 0 1454628 143240 15016 S 20.3 14.1 0:22.53 gnome-shell 4006 sjw 20 0 1367832 298876 27856 S 13.0 29.4 0:15.58 firefox 1683 root 20 0 242204 50464 4268 S 6.0 5.0 0:07.76 Xorg 4125 sjw 20 0 555148 19820 12644 S 1.3 1.9 0:00.48 gnome-terminal- 10 root 20 0 0 0 0 S 0.3 0.0 0:00.39 rcu_sched 3091 sjw 20 0 37000 1468 904 S 0.3 0.1 0:00.31 dbus-daemon 3096 sjw 20 0 129688 2164 1492 S 0.3 0.2 0:00.14 at-spi2-registr 3925 root 20 0 0 0 0 S 0.3 0.0 0:00.05 kworker/0:0 1 root 20 0 126568 3884 1052 S 0.0 0.4 0:01.61 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 6 root 20 0 0 0 0 S 0.0 0.0 0:00.07 kworker/u2:0 [output truncated]
表21.1「インタラクティブな top コマンド」 には、top
で使用できる便利な対話型のコマンドが含まれています。詳細は、top(1) の man ページを参照してください。
コマンド | 詳細 |
---|---|
Enter、Space | 表示を最新の情報に直ちに更新します。 |
h | インタラクティブコマンドのヘルプ画面を表示します。 |
h, ? | ウィンドウおよびフィールドグループのヘルプ画面を表示します。 |
k | プロセスを強制終了します。プロセス ID およびプロセスに送信するシグナルがプロンプトされます。 |
-n | 表示されるプロセス番号を変更します。番号を入力するようプロンプトされます。 |
u | リストをユーザー別に並べ替えます。 |
M | リストをメモリー使用率で並べ替えます。 |
%P | リストを CPU 使用率で並べ替えます。 |
q | ユーティリティーを終了して、シェルプロンプトに戻ります。 |
21.1.3. システムモニターツールの使用
System Monitor ツールの Processes
タブを使用することで、グラフィカルユーザーインターフェイスからプロセスの表示、検索、優先度の変更、kill を行うことができます。
コマンドラインから System Monitor ツールを起動するには、シェルプロンプトで gnome-system-monitor
と入力します。この結果、System Monitor ツールが表示されます。また、GNOME デスクトップで Super キーを押してアクティビティーの概要を入力する場合は、System Monitor
と入力し、Enter を押します。この結果、System Monitor ツールが表示されます。Super キーはキーボードまたはその他のハードウェアに応じて様々なキーで表示されますが、多くの場合、Windows または Command キーとして通常は Spacebar の左側に表示されます。
Processes (プロセス)
タブをクリックして実行中プロセスのリストを表示します。
図21.1 システムモニター — プロセス
リストのプロセスごとに、System Monitor ツールは 名前 (Process Name
)、現在のステータス (Status
)、CPU 使用率のパーセンテージ (% CPU
)、nice 値 (Nice
)、プロセス ID (ID
)、メモリー使用量 (Memory
)、プロセスが待機中のチャネル (Waiting Channel
)、およびセッション (Session
) に関する追加情報を示します。特定の列で昇順で情報を並べ替えるには、その列の名前をクリックします。特定のコラム別に情報を昇順で並び替えるには、コラム名をクリックします。
デフォルトでは、System Monitor ツールは現在のユーザーが所有しているプロセスのリストを表示します。表示メニューから各種オプションを選択すると、以下を実行できます。
- 実行中のプロセスのみの表示
- すべてのプロセスの表示
- ユーザーのプロセスの表示
- プロセスの依存関係の表示
また、2 つのボタンを使用して以下のことを行えます。
- プロセスのリストを更新する
- リストからプロセスを選択し、 ボタンをクリックすることによりプロセスを終了する