Solaris のシステム管理 (上級編)

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

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

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 エントリによって、次のように動作します。

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

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]

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


$ sar -u 10 2

その他に、sar では次の点に注意する必要があります。

次の表に、sar コマンドのオプションとその動作を示します。

表 13–2 sar コマンドのオプション

オプション 

動作 

-a

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

-b

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

-c

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

-d

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

-g

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

-k

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

-m

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

-nv

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

-p

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

-q

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

-r

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

-u

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

-w

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

-y

端末動作をチェックする  

-A

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

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

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

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  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) のマニュアルページを参照してください。