システム動作データを自動的に収集するには、3 つのコマンドを使用します。sadc、sa1、および sa2 です。
sadc データ収集ユーティリティーは、システム動作に関するデータを定期的に収集し、24 時間ごとに 1つのファイルに 2 進形式で保存します。sadc コマンドを定期的に (通常は 1 時間ごとに) 実行したり、システムがマルチユーザーモードでブートするときにも実行するように設定できます。データファイルは、/var/adm/sa ディレクトリに格納されます。各ファイルには sadd という名前が与えられます。この場合、dd は現在の日付です。このコマンドの書式は次のとおりです。
/usr/lib/sa/sadc [t n] [ofile] |
このコマンドは、t 秒 (5 秒より長くする必要がある) 間隔でサンプルデータを n 回収集します。このコマンドは次に、2 進形式の ofile ファイルまたは標準出力に書き込みます。
カウンタが 0 にリセットされたときから統計情報を記録するために、sadc コマンドをシステムのブート時に実行する必要があります。sadc をブート時に確実に実行するために、 svcadm enable system/sar:default コマンドで日次データファイルにレコードを書き込みます。
/usr/bin/su sys -c "/usr/lib/sa/sadc /var/adm/sa/sa`date +%d`" |
定期的にレコードを生成するには、sadc コマンドを定期的に実行する必要があります。そのためには、/var/spool/cron/crontabs/sys ファイルの次の行をコメント解除するのがもっとも簡単な方法です。
# 0 * * * 0-6 /usr/lib/sa/sa1 # 20,40 8-17 * * 1-5 /usr/lib/sa/sa1 # 5 18 * * 1-5 /usr/lib/sa/sa2 -s 8:00 -e 18:01 -i 1200 -A |
sys の crontab エントリによって、次のように動作します。
最初の 2 つの crontab エントリによって、月曜から金曜までの午前 8 時から午後 5 時までは 20 分ごとに、それ以外では 1 時間ごとに、レコードが /var/adm/sa/sadd ファイルに書き込まれます。
3 番目のエントリは、月曜から金曜までは 1 時間ごとに、レコードを /var/adm/sa/sardd ファイルに書き込み、すべての sar オプションが含まれます。
これらのデフォルトは、必要に応じて変更できます。
もう 1 つのシェルスクリプト sa2 は、2 進データファイルでないレポートを生成します。sa2 コマンドは sar コマンドを呼び出して、レポートファイルに ASCII 出力を書き込みます。
sar コマンドを使用すると、システム動作データそのものを収集するか、sadc コマンドで作成された日次動作ファイルに収集された情報を報告できます。
sar コマンドの書式は次のとおりです。
sar [-aAbcdgkmpqruvwy] [-o file] t [n] |
sar [-aAbcdgkmpqruvwy] [-s time] [-e time] [-i sec] [-f file] |
次の sar コマンドは、オペレーティングシステム内の累積動作カウンタから t 秒間隔で n 回データを収集します。t は、5 秒以上の値にします。それ以外の値にすると、コマンドそのものがサンプルに影響を与えることがあります。また、サンプルの収集間隔を指定する必要があります。指定しないと、このコマンドは第 2 の書式に従って動作します。n のデフォルト値は 1 です。次の例では、10 秒間隔で 2 つのサンプルが収集されます。-o オプションを指定すると、サンプルは 2 進形式でファイルに保存されます。
$ sar -u 10 2 |
その他に、sar では次の点に注意する必要があります。
サンプル間隔またはサンプル数を指定しなければ、sar コマンドは以前に記録されたファイルからデータを抽出します。このファイルは、-f オプションで指定したファイル、またはデフォルトでは最新日付分の標準日次動作ファイル /var/adm/sa/sadd です。
-s オプションと -e オプションでは、レポートの開始時刻と終了時刻を定義します。開始時刻と終了時刻の書式は hh[:mm[:ss]] です (この場合、hh、mm、ss はそれぞれ時間、分、秒を表します)。
-i オプションでは、レコードの選択間隔を秒単位で指定します。-i オプションを指定しなければ、日次動作ファイル内で見つかったすべての間隔がレポートされます。
次の表に、sar コマンドのオプションとその動作を示します。
表 13–2 sar コマンドのオプション
オプション |
動作 |
---|---|
-a |
ファイルアクセス操作をチェックする |
-b |
バッファー動作をチェックする |
-c |
システムコールをチェックする |
-d |
各ブロックデバイスの動作をチェックする |
-g |
ページアウトとメモリーの解放をチェックする |
-k |
カーネルメモリーの割り当てをチェックする |
-m |
プロセス間通信をチェックする |
-nv |
システムテーブルの状態をチェックする |
-p |
スワップとディスパッチ動作をチェックする |
-q |
待ち行列動作をチェックする |
-r |
未使用メモリーをチェックする |
-u |
CPU の使用率をチェックする |
-w |
ボリュームのスワッピングと切り替えをチェックする |
-y |
端末動作をチェックする |
-A |
システム全体のパフォーマンスをリポートする (すべてのオプションを入力した場合と同じです) |
オプションを使用しなければ、sar コマンドを -u オプションを指定して呼び出すのと同じです。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
svcadm enable system/sar:default コマンドを実行します。
このバージョンの sadc コマンドは、カウンタが 0 にリセットされる時間 (ブート時) を示す特殊なレコードを書き込みます。
crontab ファイル /var/spool/cron/crontabs/sys を編集します。
crontab ファイルは直接編集しないでください。既存の crontab ファイルを変更するときは、代わりに crontab -e コマンドを使用してください。
# crontab -e sys |
次の行のコメントを解除します。
0 * * * 0-6 /usr/lib/sa/sa1 20,40 8-17 * * 1-5 /usr/lib/sa/sa1 5 18 * * 1-5 /usr/lib/sa/sa2 -s 8:00 -e 18:01 -i 1200 -A |
詳細は、crontab(1) のマニュアルページを参照してください。