Oracle® Solaris 11.2 でのシステム情報、プロセス、およびパフォーマンスの管理

印刷ビューの終了

更新: 2014 年 9 月
 
 

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

システム動作データを自動的に収集するには、sadcsa1、および sa2 の 3 つのコマンドを使用します。

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

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

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

ブート時の sadc コマンドの実行

カウンタが 0 にリセットされたときから統計情報を記録するには、sadc コマンドをシステムのブート時に実行するようにしてください。sadc コマンドをブート時に確実に実行するために、svcadm enable system/sar:default コマンドで日次データファイルにレコードを書き込みます。

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

/usr/bin/su sys -c "/usr/lib/sa/sadc /var/adm/sa/sa`date +%d`"

sa1 スクリプトを使用した sadc コマンドの定期的な実行

定期的にレコードを生成するには、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

    デフォルトの syscrontab エントリによって、次のように動作します。

  • 最初の 2 つの crontab エントリによって、月曜から金曜までの午前 8 時から午後 5 時までは 20 分ごとに、それ以外では 1 時間ごとに、レコードが /var/adm/sa/sadd ファイルに書き込まれます。

  • 3 番目のエントリは、月曜から金曜までは 1 時間ごとに、レコードを /var/adm/sa/sardd ファイルに書き込み、すべての sar オプションが含まれます。

これらのデフォルトは、必要に応じて変更できます。

sa2 スクリプトを使用したレポートの生成

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

データの自動収集を設定する (sar)

sar コマンドを使用すると、システム動作データそのものを収集するか、sadc コマンドで作成された日次動作ファイルに収集された情報を報告できます。

sar コマンドの書式は次のとおりです。

sar [-aAbcdgkmpqruvwy] [-o file] t [n] 
sar [-aAbcdgkmpqruvwy] [-s time] [-e time] [-i sec] [-f file]

最初の書式は、オペレーティングシステム内の累積動作カウンタから t 秒間隔で n 回データを収集します。t は、5 秒以上の値にします。それ以外の値にすると、コマンドそのものがサンプルに影響を与えることがあります。また、サンプルの収集間隔を指定する必要があります。指定しないと、このコマンドは第 2 の書式に従って動作します。n のデフォルト値は 1 です。

次の例では、2 番目の書式を使用して、10 秒間隔で 2 つのサンプルが収集されます。–o オプションを指定すると、サンプルは 2 進形式で保存されます。

$ sar -u 10 2

2 番目の書式を指定した sar コマンドは、サンプリング間隔または指定されたサンプルの数なしで、前に記録されたファイルからデータを抽出します。このファイルは、–f オプションで指定したファイル、またはデフォルトでは最新日付分の標準日次動作ファイル /var/adm/sa/sadd です。

–s および –e オプションでは、レポートの開始時間と終了時間を定義します。開始時間と終了時間の書式は hh[:mm[:ss]] です (この場合、hhmmss はそれぞれ時間、分、秒を表します)。

–i オプションでは、レコード選択の間隔を秒単位で指定します。–i オプションを指定しなければ、日次動作ファイル内で見つかったすべての間隔がレポートされます。

sar オプションおよびそのアクションは次のとおりです。


注 -  オプションを使用しなければ、sar コマンドを –u オプションを指定して呼び出すのと同じです。
–a

ファイルアクセス操作をチェックする

–b

バッファー動作をチェックする

–c

システムコールをチェックする

–d

各ブロックデバイスの動作をチェックする

–g

ページアウトとメモリーの解放をチェックする

–k

カーネルメモリーの割り当てをチェックする

–m

プロセス間通信をチェックする

–nv

システムテーブルのステータスをチェックする

–p

スワップとディスパッチ動作をチェックする

–q

待ち行列動作をチェックする

–r

未使用メモリーをチェックする

–u

CPU の使用率をチェックする

–w

ボリュームのスワッピングと切り替えをチェックする

–y

端末動作をチェックする

–A

システム全体のパフォーマンスをレポートする (すべてのオプションを入力した場合と同じです)

自動データ収集を設定する方法

  1. root 役割になります。

    Oracle Solaris 11.2 でのユーザーとプロセスのセキュリティー保護 の割り当てられている管理権利の使用を参照してください。

  2. svcadm enable system/sar:default コマンドを実行します。

    このバージョンの sadc コマンドは、カウンタが 0 にリセットされる時間 (ブート時) を示す特殊なレコードを書き込みます。

  3. crontab ファイル /var/spool/cron/crontabs/sys を編集します。

    注 -  crontab ファイルは直接編集しないでください。既存の crontab ファイルを変更するときは、代わりに crontab –e コマンドを使用してください。
    # crontab -e sys
  4. 次の行のコメントを解除します。
    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) のマニュアルページを参照してください。