sar コマンド
目的
システム・アクティビティー情報の収集、報告、保管を行います。
構文
/usr/sbin/sar [ { -A [ -M ] | [ -a 値 ] [ -b ] [ 「-c」 ] [ -d 年 ][ -k (K) ] [ -m (M) ] [ -Q (Q) ] [ - ] [ -ウー ] [ -v (V) ] [ -w (W) ] [ -y (Y) ] [ -M ] } ] [ -P プロセッサー ID, ... | すべて | RST [-O] {sortcolumn = col_name [, sortorder={asc|desc}] [, topcount = n]}]] [ [ -@ WPAR 名 ] [ -e (E)[YYYYYMMDD] 時間 [ :Mm [ :SS ] ] ] [ 「-f」ファイル ] [ I秒 ] [ -ファイル ] [ -s[YYYYYMMDD] 時間 [ :Mm [:SS ] ] ][-x] [ 間隔 [ 数値 ] ]
説明
sar コマンドは、 オペレーティング・システム内の選択された累積アクティビティー状況カウンターの内容を標準出力に書き出します。 アカウンティング・システムは、number パラメーターと interval パラメーターの値に基づいて、 秒単位で指定された間隔で、指定された回数だけ情報を書き込みます。 number パラメーターのデフォルト・サンプリング間隔は 1 秒です。 収集されたデータは、-o file フラグによって指定されたファイルに保管することもできます。
sar コマンドは、 -X オプションが指定されている場合に XML ファイルを生成します。
sar コマンドは、以前にファイルに保管されていたレコードを抽出して標準出力に書き出します。 このファイルは、-f フラグで指定したファイルか、 またはデフォルトの標準システム・アクティビティー・データ・ファイル (/var/adm/sa/sadd ファイル) です。 この場合の dd パラメーターは現在日を表します。
-P フラグが指定されなければ、 sar コマンドはシステム全体の (すべてのプロセッサー間でグローバルな) 統計情報を報告します。 統計情報はパーセントまたは合計として表される値の平均値です。 -P フラグが指定されると、 sar コマンドは指定されたプロセッサーに関連するアクティビティーを報告します。 -P ALL フラグが指定されると、sar コマンドは個々のプロセッサーに関する統計情報を報告し、 続いてシステム全体の統計情報を報告します。 -P ALL が ワークロード・パーティション 環境で使用され、 WPAR が rset レジストリーに関連付けられている場合、 リソース・セット統計およびシステム全体の統計が表示されます。リソース・セットに属するプロセッサーには、アスタリスク記号 (*) が接頭部として付きます。
フラグを使用して、特定のシステム・アクティビティーに関する情報を選択できます。 フラグを指定しない場合は、システム および WPAR ユニット・アクティビティーのみを選択します。 また -A フラグを指定すると、すべてのアクティビティーが選択されます。 sar コマンドは、統計の印刷を開始する前に、プロセッサーの数と現在アクティブなディスクの数を表示します。
デフォルト・バージョンの sar コマンド (プロセッサー使用状況報告) は、 システム・アクティビティーを調査するときに最初に実行する機能の 1 つになることがあります。 その理由は、デフォルト・バージョンの sar コマンドは主なシステム・リソースをモニターするからです。 プロセッサー使用率が 100% に近い (ユーザー + システム) 場合、 サンプルされたワークロードはプロセッサーの制約であることを示しています。 かなりの時間が入出力待ちに費やされている場合は、プロセッサーの実行がディスク入出力を待機してブロックされていることを意味します。 入出力は、必要なファイル・アクセスであるか、十分なメモリーがないためにページングに関連した入出力である可能性があります。
CPU ディスク入出力待ち時間の算出に使用するメソッド
AIX® オペレーティング・システムには、ディスク入出力の待機に費やされたプロセッサー時間の割合 (wio 時間) を計算するために使用される方式に対する機能拡張が含まれています。 wio 時間は、コマンド sar (%wio)、 vmstat (wa)、 および iostat (% iowait) によって報告されます。
各プロセッサーでクロック割り込みが発生する (各プロセッサーで 1 秒間に 100 回) たびに、 その最後の 10 ミリ秒を 4 つのカテゴリー (usr/sys/wio/idle) のうちのどれに入れるかが決定されます。 クロック割り込みが発生したときにプロセッサーが usr モードでビジー状態になっていた場合は、 そのクロック・ティックは usr のカテゴリーに追加されます。 クロック割り込みが発生したときにプロセッサーが kernel モードでビジー状態になっていた場合は、 そのクロック・ティックは sys のカテゴリーに追加されます。 プロセッサーがビジー状態になっていなかった場合は、 ディスクに対して何らかの入出力が進行中であったかどうかを確認するために、調査が行われます。 ディスク入出力が進行中の場合、wio カテゴリーに 1 加算されます。 進行中のディスク入出力がなく、プロセッサーもビジー状態でなかった場合には、idle のカテゴリーにティックが追加されます。 I/O を待機しているスレッドの数に関係なく、すべてのアイドル・プロセッサーが wio として分類されることにより、wio 時間の膨張ビューが表示されます。 例えば、入出力を行うスレッドが 1 つしかないシステムは、プロセッサーの数に関係なく、90% を超える wio 時間を報告することができます。
AIX オペレーティング・システムは、アイドル状態のプロセッサーで未解決の入出力が開始された場合、そのプロセッサーを wio としてマークします。 このメソッドでは、入出力を扱うスレッドがごくわずかしかなく、 システムの他の部分がアイドル状態になっている場合に、もっと低い wio 時間を報告できるようになりました。 例えば、プロセッサーが 4 つあり、入出力を扱うスレッドが 1 つあるシステムでは、 最大でも 25% の wio 時間しか報告されません。 また、プロセッサーが 12 あり、入出力を扱うスレッドが 1 つあるシステムであれば、 報告される wio 時間は最大で 8% になります。 NFS クライアントの読み取りや書き込みは VMM を通り、 biod が VMM 内で入出力の完了を待つ時間が入出力の待ち時間として報告されるようになりました。
複数のサンプルと複数の報告が必要な場合は、sar コマンドに出力ファイルを指定した方が便利です。 sar コマンドからの標準出力データを以下のように送信します。 /dev/nullそして、バックグラウンド・プロセスとして sar コマンドを実行します。 以下のような構文になります。
sar -A -o data.file interval count > /dev/null &すべてのデータはバイナリー形式で取り込まれ、ファイルに保存されます (data.file)。 その後、 -f オプションを使用して、 sar コマンドでデータを選択的に表示することができます。
sar コマンドは、 sadc という名前のプロセスを呼び出し、 システムのデータにアクセスします。 2 つのシェル・スクリプト (/usr/lib/sa/sa1および/usr/lib/sa/sa2) cron コマンドによって実行されるように構造化され、日次の統計とレポートを提供します。 サンプル・スタンザは、 /var/spool/cron/crontabs/adm crontab ファイルに含まれています (ただしコメント化されています)。これには、cron デーモンがいつシェル・スクリプトを実行すべきかが指定されています。 このようにしてデータを収集すると、長期間にわたるシステムの使用方法を特性化し、ピーク使用時刻を判別するのに役立ちます。
/etc/rc スクリプトの対応する行のコメントを外すことによって、システム開始時に、標準システム・アクティビティー日次データ・ファイルにダミー・レコードを挿入できます。 sar コマンド・レポートtime change not positiveプロセッサー時間が前のレコードより少ないレコードの場合。 これは、/etc/rc のダミー・レコード挿入行がコメントにされた状態でシステムをリブートする場合に発生します。
AIX 5.3以降、'sarコマンドは、Micro-Partitioning®および同時マルチスレッド環境に関連する利用率メトリクス'physcおよび'%entcをレポートします。 これらのメトリックは、 Micro-Partitioning 環境および 同時マルチスレッド化 環境でのみ表示されます。 physc は、区画 (システム全体の使用率の場合) または論理プロセッサー ( -P フラグが指定されている場合) によって消費される物理プロセッサーの数を示し、 %entc は、割り振られたライセンス済みキャパシティー (システム全体の使用率の場合) または付与されたライセンス済みキャパシティー ( -P フラグが指定されている場合) のパーセンテージを示します。 区画がキャップ付きモードで稼働している場合は、区画は割り振られた容量を超える容量を獲得できません。 キャップなしモードの場合は、区画は実際に割り振られた容量を超える容量を獲得できます。 これを認可されたライセンス容量と呼びます。 -P フラグが指定されていて、未使用の容量がある場合、 sar は、未使用の容量を cpu id U の別個のプロセッサーとして印刷します。
AIX 6.1以降、 sar コマンドは、 ワークロード・パーティション (WPAR) 環境に関連する使用率メトリック %rescを報告します。 %resc メトリックは、 WPAR が消費するプロセッサー・リソースの割合 (%) を示します。 このフィールドは、 WPARでプロセッサー・リソース制限が適用されている場合にのみ表示されます。 sar -P コマンドは、 R WPARのリソース・セット (RSET) 使用状況メトリックを報告します。
System Management Interface Tool (SMIT) smit sar 高速パスを使用しても sar コマンドを実行できます。
フラグ
| 項目 | 説明 |
|---|---|
| -@ wparname | -@ フラグは、コマンドがグローバル環境から WPAR でのプロセッサー使用を報告することを指定します。 wparname パラメーターは、報告する WPAR プロセッサー統計情報を指定します。 注: -@ フラグは、 ワークロード・パーティション内で実行する場合はサポートされません。
注: -@ フラグを -d、 -r、 -yと一緒に使用しないでください。 -f、または -X フラグ。
|
| -A | -P フラグを指定せずに -A フラグを使用することは、-abcdkmqruvwy を指定するのと同じです。 -P フラグを指定すると、 -A は -acmuw を指定するのと同じです。 -M フラグを指定しない場合、ヘッダーは、最初の間隔のデータの前にグループ化された複数行に 1 回だけ出力されます。 このフラグを -M フラグと一緒に使用すると、反復のたびにデータの各行の前に適切なヘッダーが付きます。 |
| -a | システム・ファイル・アクセス・ルーチンのいずれかが 1 秒間に呼び出された回数を指定するファイル・アクセス・システム・ルーチンの使用状況を報告します。 -P フラグとともに使用すると、指定した各プロセッサーに関する情報が表示されます。 以下の値が表示されます。
|
| -b | 1 秒あたりの転送、アクセス、およびキャッシュ (カーネル・ブロック・バッファー・キャッシュ) の各ヒット率に関して、バッファー・アクティビティーを報告します。 バージョン 3 のほとんどのファイルへのアクセスは、
カーネル・ブロック・バッファーをバイパスするので、これらの統計情報は生成されません。 ただし、プログラムがブロック・デバイスまたは入出力用ロー・キャラクター型デバイスを開く場合は、
従来のアクセス機構が使用されて、生成された統計情報が意味を持ちます。 以下の値が表示されます。
|
| -c | システム・コールを報告します。 -P フラグとともに使用すると、指定した各プロセッサーに関する情報が表示されます。 以下の値が表示されます。
ヒント: sar コマンド自体は、実行間隔に応じて、かなりの数の読み取りおよび書き込みを生成することがあります。 sar コマンドがユーザーの統計情報全体のどのくらいを占めているかを知るには、ワークロードなしの sar 統計情報を実行してください。
|
| -d | 各ブロック・デバイスのアクティビティーを報告します。
ただし、XDC テープ・ドライブは例外で、この報告には含まれません。 次のデータが報告されます。
制約事項: -d フラグは、 ワークロード・パーティションでは制限されます。
|
| -e [YYYYMMDD] hh [: mm [: ss ]] | レポートの終了時刻を設定します。 デフォルトの終了時間は 18:00 です。
|
| -f ファイル | file (-o file フラグによって作成される) からレコードを抽出します。 file パラメーターのデフォルト値は、現在の日次データ・ファイル (/var/adm/sa/sadd ファイル) です。 制約事項: [ interval [ number ]] パラメーターを指定すると、 -f フラグは無視されます。 -f フラグは、 ワークロード・パーティションでは制限されます。
|
| -i 秒 | Seconds パラメーターで指定した数にできる限り近い秒数でデータ・レコードを選択します。 このフラグを指定しないと、 sar コマンドはデータ・ファイル内のすべての秒に関して報告します。 |
| -k | カーネル・プロセス活動を報告します。 以下の値が表示されます。
|
| -M | [abckmqruvwy] の少なくとも 2 つの組み合わせ、または -A フラグと共に使用された場合に、出力で複数のヘッダーを使用可能にします。 このモードでは、各反復のデータの各行の前に対応するヘッダーが付けられます。 制約事項: このフラグは、[interval [number]] なしで使用された場合は無視されます。
|
| -m | 1 秒あたりのメッセージ (送受信) アクティビティーおよびセマフォー (作成、使用、および破棄) アクティビティーを報告します。 -P フラグとともに使用すると、指定した各プロセッサーに関する情報が表示されます。 以下の値が表示されます。
|
| -o ファイル | 読み取りをバイナリー・フォーマットでファイルに保管します。 各読み取りは個別のレコード内に保管され、各レコードには読み取りの時間を識別するタグが付けられます。 |
| -P processoridentifier , ... | ALL |RST | 指定したプロセッサー (複数の場合もある) のプロセッサーごとの統計情報を報告します。 ALL キーワードを指定すると、
個々のプロセッサーの統計情報とすべてのプロセッサーに関するグローバルな統計情報が報告されます。 RST オプションを指定すると、 WPARに関連付けられた rset レジストリーに存在するプロセッサーの統計情報が報告されます。 報告される統計を指定するフラグのうち、-a、-c、-m、-u、および -w フラグのみが、-P フラグと同時にグローバル環境で使用した場合に意味があります。 WPAR 環境では、 -P フラグと一緒にフラグを使用しないでください。 注: sar コマンドが WPAR について報告する各プロセッサーの統計情報は、常にシステム全体に適用されます。
|
| -q | キューの統計情報を報告します。 以下の値が表示されます。
ヒント: いずれかの列の値がブランクの場合は、関連付けられたキューが空であることを示します。
|
| -r | ページング統計情報を報告します。 以下の値が表示されます。
制約事項: -r フラグは、 ワークロード・パーティションでは制限されています。
|
| - s [YYYYMMDD] hh [ :mm [ :ss ]]である | データの開始時刻を設定します。
これにより、sar コマンドは指定した時刻またはそれ以降の時刻でタイム・タグされたレコードを抽出します。 デフォルトの開始時刻は、08:00 です。
|
| -u | 個々のプロセッサーの統計情報またはシステム全体の統計情報です。 -P フラグとともに使用すると、指定した各プロセッサーに関する情報が表示されます。 そうでない場合は、システム全体に関する情報のみが表示されます。
-u フラグの情報はパーセントで表されるので、
システム全体の情報は各プロセッサーの統計情報の単なる平均値です。 また、入出力待ち状態はプロセッサーごとに定義されるのではなく、システム単位で定義されます。 以下の値が表示されます。
ヒント:
|
| -v | プロセス・テーブル、カーネル・スレッド、i ノード、およびファイル・テーブルの状況を報告します。 以下の値が表示されます。
|
| -w | システム切り替えアクティビティーを報告します。 -P フラグとともに使用すると、指定した各プロセッサーに関する情報が表示されます。 以下の値が表示されます。
|
| -y | 1 秒あたりの tty デバイス・アクティビティーを報告します。
制約事項: -y フラグは、 ワークロード・パーティションでは制限されます。
|
| -x | 各エントリーの日時を表示します。 ユーザーが YYYYMMDD 形式で -s フラグまたは -e フラグに データを指定すると、必ず暗黙的に -x フラグがオンになります。 |
| -Oオプション | ユーザーがコマンド・オプションを指定できるようにします。 -O options=value ... 以下はサポートされるオプションです。
|
| -X | XML 出力を生成します。 ユーザーが -o オプションを使用して別のファイル名を指定しない限り、デフォルトのファイル名は sar_DDMMYYHHMM.xml です。 |
| -o | XML 出力のファイル名を指定します。 |
セキュリティー
アクセス制御: これらのコマンドは adm グループのメンバーにのみ実行 (x) アクセスを認可します。
例
- システム装置アクティビティーを報告するには、次のコマンドを入力します。
sar - 次の 40 秒間、2 秒ごとに現行の TTY アクティビティーを報告するには、次のコマンドを入力します。
- 10 分間システム装置を監視してデータをソートするには、次のコマンドを入力してください。sar -o temp 60 10
- 最初の 2 台のプロセッサーのプロセッサー・アクティビティーを報告するには、次のコマンドを入力します。この出力は、以下のようになります。
cpu %usr %sys %wio %idle 0 45 45 5 5 1 27 65 3 5 - すべてのプロセッサーおよびシステム全体について、メッセージ、セマフォー、およびプロセッサー・アクティビティーを報告するには、次のコマンドを入力します。プロセッサーが 4 つあるシステムでは、
次のような出力が生成されます (最後の行は、すべてのプロセッサーを合わせたシステム全体の統計情報を示しています)。
cpu msgs/s sema/s %usr %sys %wio %idle 0 7 2 45 45 5 5 1 5 0 27 65 3 5 2 3 0 55 40 1 4 3 4 1 48 41 4 7 - 19 3 44 48 3 5 - システム全体のすべてのプロセッサーについて、消費された物理プロセッサーと消費された資格を確認するには、以下のように、共用プロセッサー論理区画マシンで sar コマンドを実行します。
論理プロセッサーが 2 つあるシステムでは、次のものに似た出力が生成されます。(最後の 2 行は、すべてのプロセッサーに関するシステム全体の統計情報を示し、sar -P ALLcpuid Uの行は、システム全体の未使用容量を示します。)cpu %usr %sys %wio %idle physc %entc 0 0 0 0 100 0.02 3.1 1 0 0 0 100 0.00 1.0 U - - 0 96 0.48 96.0 - 0 0 0 100 0.02 4.0 - 次の 40 秒間、2 秒ごとに、システム呼び出し、カーネル・プロセス、およびページング・アクティビティーを、反復のたびに、3 行のデータごとの別々のヘッダーを付けて報告するには、次のコマンドを入力します。
sar -Mckr 2 20 - 次の 40 秒間、2 秒ごとに、複数のヘッダーのセットを付けて、すべてのアクティビティーを報告するには、次のコマンドを入力します。
sar -MA 2 20 - グローバル環境から WPAR 内のプロセッサー使用統計情報を報告するには、次のコマンドを入力します。
sar -@ wparname - WPARの内部から、 WPAR に関連付けられた rset レジストリー内にあるすべてのプロセッサーのプロセッサー・アクティビティーを報告するには、次のコマンドを入力します。
sar -P RST 1 12 つの論理プロセッサーの RSET に関連付けられている WPAR では、前のコマンドによって以下のようなレポートが生成されます。19:34:39 cpu %usr %sys %wio %idle physc 19:34:40 0 0 2 0 98 0.54 1 0 0 0 100 0.46 R 0 1 0 99 1.00 - WPAR内部からすべてのプロセッサー・アクティビティーを報告するには、次のコマンドを入力します。
sar -P ALL 1 12 つの論理プロセッサーの RSET に関連付けられている WPAR では、前のコマンドによって以下のようなレポートが生成されます。19:34:39 cpu %usr %sys %wio %idle physc 19:34:40 *0 0 2 0 98 0.54 *1 0 0 0 100 0.46 R 0 1 0 99 1.00 - 0 1 0 99 1.00 - -w フラグを指定して列 cswch/s のソート済み出力を表示するには、次のコマンドを入力します。
sar -w -P ALL -O sortcolumn=cswch/s 1 1 - scall/s 列でソートされた上位 10 位以内の CPU をリストするには、次のコマンドを入力します。
sar -c -O sortcolumn=scall/s,sortorder=desc,topcount=10 -P ALL 1
ファイル
| 項目 | 説明 |
|---|---|
| /usr/sbin/sar | sar コマンドが入っています。 |
| /bin/sar | sar コマンドに対するシンボリック・リンクを示します。 |
| /var/adm/sa/sa dd | 日次データ・ファイルを示します。 ここでの dd パラメーターは、(月のうちの) 日を表す数字です。 |