Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第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 ページを参照してください。

表21.1 インタラクティブな top コマンド

コマンド詳細

EnterSpace

表示を最新の情報に直ちに更新します。

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 システムモニター — プロセス

システムモニターアプリケーションの Processes タブ

リストのプロセスごとに、System Monitor ツールは 名前 (Process Name)、現在のステータス (Status)、CPU 使用率のパーセンテージ (% CPU)、nice 値 (Nice)、プロセス ID (ID)、メモリー使用量 (Memory)、プロセスが待機中のチャネル (Waiting Channel)、およびセッション (Session) に関する追加情報を示します。特定の列で昇順で情報を並べ替えるには、その列の名前をクリックします。特定のコラム別に情報を昇順で並び替えるには、コラム名をクリックします。

デフォルトでは、System Monitor ツールは現在のユーザーが所有しているプロセスのリストを表示します。表示メニューから各種オプションを選択すると、以下を実行できます。

  • 実行中のプロセスのみの表示
  • すべてのプロセスの表示
  • ユーザーのプロセスの表示
  • プロセスの依存関係の表示

また、2 つのボタンを使用して以下のことを行えます。

  • プロセスのリストを更新する
  • リストからプロセスを選択し、End Process (プロセスの終了) ボタンをクリックすることによりプロセスを終了する