第 25章システム情報の収集

システム設定の方法を考える前に、まず基本的なシステム情報を収集する方法を考えなければいけません。たとえば、未使用のメモリがどれだけ残っているか、ハードディスクドライブの使用可能なスペースの大きさはどの程度か、ハードディスクドライブのパーティションがどうなっているか、どんなプロセスが動いているかといったことを知っておく必要があります。この章では、Red Hat Linuxシステムに関するそのような情報を、簡単なコマンドやいくつかのプログラムを使って調べる方法を説明します。

システムプロセス

ps axコマンドは、現在動いているシステムプロセスを、ほかのユーザーが所有するものも含めて一覧にして表示します。プロセスの所有者も表示したいときは、ps auxコマンドを使います。この一覧は静的です。つまり、このコマンドを実行した時点の状態を表し、その後の変化は反映されません。実行中のプロセスを表示し、定期的に一覧を更新したい場合は、あとで説明するtopコマンドを使います。

ps出力は長い可能性があります。画面外へスクロールするのを防ぐ為に、 パイプを使用してlessで表示することが出来ます。:

ps aux | less

psコマンドとgrepコマンドを組み合わせて使用すると、 あるプロセスが動いているかどうかを調べることができます。例えば、emacsが 実行されているかどうかを調べるには、次のコマンドを使用します。:

ps ax | grep emacs

topコマンドは、現在動作中のプロセスを表示します。これには、メモリやCPU使用率などの重要な情報も含まれています。一覧はいつも最新状態にあり、動作中に設定を変更することもできます。次に示すのは、topの表示例です。

6:14pm  up 2 days, 19:29,  5 users,  load average: 0.10, 0.06, 0.07
71 processes: 68 sleeping, 2 running, 1 zombie, 0 stopped
CPU states:  2.7% user,  0.5% system,  0.0% nice, 96.6% idle
Mem:   256812K av,  252016K used,    4796K free,   97228K shrd,   43300K buff
Swap:  265032K av,    1328K used,  263704K free                   86180K cached

PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
15775 joe        5   0 11028  10M  3192 S     1.5  4.2   0:46 emacs
14429 root      15   0 63620  62M  3284 R     0.5 24.7  63:33 X
17372 joe       11   0  1056 1056   840 R     0.5  0.4   0:00 top
17356 joe        2   0  4104 4104  3244 S     0.3  1.5   0:00 gnome-terminal
14461 joe        1   0  3584 3584  2104 S     0.1  1.3   0:17 sawfish
1 root       0   0   544  544   476 S     0.0  0.2   0:06 init
2 root       0   0     0    0     0 SW    0.0  0.0   0:00 kflushd
3 root       1   0     0    0     0 SW    0.0  0.0   0:24 kupdate
4 root       0   0     0    0     0 SW    0.0  0.0   0:00 kpiod
5 root       0   0     0    0     0 SW    0.0  0.0   0:29 kswapd
347 root       0   0   556  556   460 S     0.0  0.2   0:00 syslogd
357 root       0   0   712  712   360 S     0.0  0.2   0:00 klogd
372 bin        0   0   692  692   584 S     0.0  0.2   0:00 portmap
388 root       0   0     0    0     0 SW    0.0  0.0   0:00 lockd
389 root       0   0     0    0     0 SW    0.0  0.0   0:00 rpciod
414 root       0   0   436  432   372 S     0.0  0.1   0:00 apmd
476 root       0   0   592  592   496 S     0.0  0.2   0:00 automount

topコマンドを終了するには、[q]キーを押します。

以下は、topコマンドの動作中に使える、便利なコマンドです。

表 25-1. インタラクティブなtopコマンド

コマンド説明
[Space]すぐに表示を更新します
[h]ヘルプ画面を表示します
[k]プロセスをkillします。プロセスIDとそれに送る信号を要求されます。
[n]表示されるプロセスの数を変更します。数を入力するように要求されます。
[u]ユーザーの順に並べます。
[M]メモリ使用量の順に並べます。
[P]CPU使用率の順に並べます。

ティップヒント
 

MozillaNautilusなどの アプリケーションは、スレッド認知します。—マルチスレッドは マルチユーザー又はマルチリクエストを扱う為に作成され、各スレッドは1つのプロセスIDを 受け取ります。ディフォルトでは、pstopは メイン(初期)のスレッドを表示するだけです。すべてのスレッドを表示するには、 ps -mコマンドを使用するか又は、topの中で [Shift][H]のキー組合せを押します。

topをグラフィカルインターフェイスで使いたい場合は、GNOME System Monitorを利用します。デスクトップで起動するには、パネル上のメインメニューボタン => システムツール =>システムモニタと進むか、又は X Window System内でシェルプロンプトにgnome-system-monitorとタイプします。 そして、Process Listingタブを選択します。

GNOME System Monitorを使用すると、すべてのプロセス、ユーザーのプロセス、 又はアクティブなプロセスの表示と共に、起動中プロセスの一覧でプロセスの検索が出来ます。

あるプロセスについてもっと知りたい場合、それを選択して、More Infoボタンを クリックします。そのプロセスに関する詳細が画面の底辺に表示されます。

プロセスを停止するには、それを選択してEnd Processをクリックします。 この機能は、ユーザー入力に反応しなくなったプロセスに役に立ちます。

特定の欄で情報別に分類するには、まずその欄の名前をクリックします。 情報が分類された欄が濃い灰色で提示されます。

ディフォルトでは、GNOME System Monitorはスレッドを 表示しません。このユーザー設定を変更するには、編集 => ユーザー設定と 選択して、Process Listingタブを クリックします。そしてShow Threadsを選択します。また、ユーザー設定では 更新の期間、ディフォルトで各プロセスについて表示する情報のタイプ、そしてシステムモニタ グラフの色等の設定も出来ます。

図 25-1. GNOME System Monitor