Solaris のシステム管理 (第 2 巻)

システム動作データの自動収集 (sar)

システム動作データを自動的に収集するには、sadcsa1sa2 という 3 つのコマンドを使用します。

sadc データ収集ユーティリティは、システム動作に関するデータを定期的に収集し、24 時間ごとに 1 つのファイルに 2 進形式で保存します。sadc を定期的に (通常は 1 時間ごとに) 実行するだけでなく、システムがマルチユーザーモードでブートするときにも実行するように設定できます。データファイルは、ディレクトリ /usr/adm/sa に格納されます。各ファイルには sadd という名前が与えられます。この場合、dd は現在の日付です。このコマンドの書式は次のとおりです。


/usr/lib/sa/sadc [t n] [ofile]

このコマンドは、t 秒 (t は 5 秒より長くする必要があります) 間隔でサンプルデータを n 回収集します。次に、ファイル ofile または標準出力に 2 進形式で書き込みます。tn を省略すると、特殊ファイルに 1 度だけ書き込まれます。

ブート時に sadc を実行する

カウンタが 0 にリセットされるときから統計情報を記録するために、sadc コマンドをシステムのブート時に実行する必要があります。sadc をブート時に確実に実行するには、日ごとのデータファイルにレコードを書き込むコマンド行を /etc/init.d/perf ファイルに入れなければなりません。

コマンドエントリの書式は次のとおりです。


su sys -c "/usr/lib/sa/sadc /usr/adm/sa/sa`date +5d`"

sa1 を使用して sadc を定期的に実行する

定期的にレコードを生成するには、sadc を定期的に実行する必要があります。そのためには、シェルスクリプト sa1 を呼び出す 1 行を /var/spool/cron/sys ファイルに挿入するのが最も簡単な方法です。このスクリプトは sadc を起動し、日ごとのデータファイル /var/adm/sa/sadd に書き込みます。書式は次のとおりです。


/usr/lib/sa/sa1 [t n]

引数 tn を指定すると、レコードは t 秒間隔で n 回書き込まれます。この 2 つの引数を省略すると、レコードは 1 度しか書き込まれません。

sa2 を使用してレポートを生成する

もう 1 つのシェルスクリプト sa2 は、2 進データファイルではなくレポートを生成します。sa2 コマンドは sar コマンドを呼び出して、レポートファイルに ASCII 出力を書き込みます。