この章では、vmstat、iostat、df、および sar の各コマンドを使用して、システムパフォーマンスを監視する手順について説明します。
システムパフォーマンスの監視に関する手順については、以下を参照してください。
作業 |
説明 |
参照先 |
---|---|---|
仮想メモリーの統計を表示する |
vmstat コマンドを使用し、仮想メモリーの統計を収集する | |
システムイベント情報を表示する |
vmstat コマンドと -s オプションを使用し、システムイベント情報を表示する | |
スワップの統計を表示する |
vmstat コマンドと -S オプションを使用し、スワップの統計を表示する | |
各デバイス当たりの割り込み数を表示する |
vmstat コマンドと -i オプションを使用し、デバイス当たりの割り込み数を表示する | |
ディスクの使用状況を表示する |
iostat コマンドを使用し、ディスクの入出力の統計を報告する | |
拡張ディスク統計情報を表示する |
iostat コマンドと -xtc オプションを使用し、拡張ディスクの統計情報を表示する | |
ディスク容量情報を表示する |
df -k コマンドを使用し、ディスク容量情報をキロバイト単位で表示する |
vmstat コマンドを使用すると、仮想メモリーの統計情報と、CPU の負荷、ページング、コンテキスト切替え数、デバイス割り込み、システムコールなどの、システムイベントに関する情報を表示できます。 また、vmstat コマンドを使用すると、スワップ、キャッシュフラッシュ、および割り込みに関する統計情報も表示できます。
次の表に、vmstat コマンドの出力内のフィールドを示します。
表 13–1 vmstat コマンドからの出力
カテゴリ |
フィールド名 |
説明 |
---|---|---|
procs |
|
次の状態を報告します |
|
r |
ディスパッチ待ち行列内のカーネルスレッド数 |
|
b |
資源を待機中のブロックされたカーネルスレッド数 |
|
w |
資源処理の完了を待機中のスワップアウトされた軽量プロセス数 |
memory |
|
実メモリーと仮想メモリーの使用状況を表示します |
|
swap |
使用可能なスワップ空間 |
|
free |
空きリストのサイズ |
page |
|
ページフォルトとページング動作を 1 秒当たりの単位数として表示します |
|
re |
回収されたページ数 |
|
mf |
軽度の障害と重大な障害 |
|
pi |
ページインされたキロバイト数 |
|
po |
ページアウトされたキロバイト数 |
|
fr |
解放されたキロバイト数 |
|
de |
最後にスワップインされたプロセスに必要だと予想されるメモリー |
|
sr |
page デーモンによって走査され、現在は使用されていないページ数。sr が 0 以外の値であれば、page デーモンが実行されています。 |
disk |
|
最高 4 台のディスク上のデータを示す、1 秒当たりのディスク処理数を表示します |
faults |
|
トラップ/割り込み率 (1 秒当たり) を表示します |
|
in |
1 秒当たりの割り込み数 |
|
sy |
1 秒当たりのシステムコール数 |
|
cs |
CPU のコンテキスト切替え率 |
cpu |
|
CPU 時間の使用状況を表示します |
|
us |
ユーザー時間 |
|
sy |
システム時間 |
|
id |
アイドル時間 |
このコマンドの詳細については、vmstat(1M) のマニュアルページを参照してください。
次の例に、5 秒間隔で収集された統計情報に関する vmstat の表示を示します。
$ vmstat 5 kthr memory page disk faults cpu r b w swap free re mf pi po fr de sr dd f0 s1 -- in sy cs us sy id 0 0 0 863160 365680 0 3 1 0 0 0 0 0 0 0 0 406 378 209 1 0 99 0 0 0 765640 208568 0 36 0 0 0 0 0 0 0 0 0 479 4445 1378 3 3 94 0 0 0 765640 208568 0 0 0 0 0 0 0 0 0 0 0 423 214 235 0 0 100 0 0 0 765712 208640 0 0 0 0 0 0 0 3 0 0 0 412 158 181 0 0 100 0 0 0 765832 208760 0 0 0 0 0 0 0 0 0 0 0 402 157 179 0 0 100 0 0 0 765832 208760 0 0 0 0 0 0 0 0 0 0 0 403 153 182 0 0 100 0 0 0 765832 208760 0 0 0 0 0 0 0 0 0 0 0 402 168 177 0 0 100 0 0 0 765832 208760 0 0 0 0 0 0 0 0 0 0 0 402 153 178 0 0 100 0 0 0 765832 208760 0 18 0 0 0 0 0 0 0 0 0 407 165 186 0 0 100 |
vmstat -s コマンドを実行すると、システムを前回ブートしたあとに発生したシステムイベントの数が表示されます。
$ vmstat -s 0 swap ins 0 swap outs 0 pages swapped in 0 pages swapped out 522586 total address trans. faults taken 17006 page ins 25 page outs 23361 pages paged in 28 pages paged out 45594 total reclaims 45592 reclaims from free list 0 micro (hat) faults 522586 minor (as) faults 16189 major faults 98241 copy-on-write faults 137280 zero fill page faults 45052 pages examined by the clock daemon 0 revolutions of the clock hand 26 pages freed by the clock daemon 2857 forks 78 vforks 1647 execs 34673885 cpu context switches 65943468 device interrupts 711250 traps 63957605 system calls 3523925 total name lookups (cache hits 99%) 92590 user cpu 65952 system cpu 16085832 idle cpu 7450 wait cpu |
vmstat -S を実行すると、スワップの統計情報が表示されます。
$ vmstat -S kthr memory page disk faults cpu r b w swap free si so pi po fr de sr dd f0 s1 -- in sy cs us sy id 0 0 0 862608 364792 0 0 1 0 0 0 0 0 0 0 0 406 394 213 1 0 99 |
スワッピング統計情報のフィールドを次のリストに示します。その他のフィールドの説明については、表 13–1 を参照してください。
1 秒当たりにスワップされた平均軽量プロセス数
スワップアウトされた全プロセス数
vmstat コマンドは、 si フィールドおよび so フィールドの出力値を切り捨てます。スワップ統計情報の詳細情報を表示するには、sar コマンドを使用してください。
次の例は、vmstat -i コマンドからの出力を示します。
$ vmstat -i interrupt total rate -------------------------------- clock 52163269 100 esp0 2600077 4 zsc0 25341 0 zsc1 48917 0 cgsixc0 459 0 lec0 400882 0 fdc0 14 0 bppc0 0 0 audiocs0 0 0 -------------------------------- Total 55238959 105 |
iostat コマンドを使用すると、ディスクの入出力に関する統計情報を表示したり、スループット、使用率、待ち行列の長さ、トランザクション率、およびサービス時間の計測結果を表示したりできます。このコマンドの詳細については、iostat(1M) のマニュアルページを参照してください。
秒単位で時間間隔を指定して iostat コマンドを使用すると、ディスクの使用状況が表示されます。
$ iostat 5 tty fd0 sd3 nfs1 nfs31 cpu tin tout kps tps serv kps tps serv kps tps serv kps tps serv us sy wt id 0 1 0 0 410 3 0 29 0 0 9 3 0 47 4 2 0 94 |
出力の 1 行目は、今回のブート以降の統計情報を示します。2 行目以降は、時間間隔ごとの統計情報を示します。デフォルトでは、端末 (tty)、ディスク (fd と sd)、および CPU (cpu) の統計情報が表示されます。
次の例は、5 秒間隔で収集されるディスク統計情報を示します。
$ iostat 5 tty sd0 sd6 nfs1 nfs49 cpu tin tout kps tps serv kps tps serv kps tps serv kps tps serv us sy wt id 0 0 1 0 49 0 0 0 0 0 0 0 0 15 0 0 0 100 0 47 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 16 44 6 132 0 0 0 0 0 0 0 0 0 0 0 1 99 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 16 3 1 23 0 0 0 0 0 0 0 0 0 0 0 1 99 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 |
次の表に、iostat n コマンド出力内のフィールドを示します。
デバイスの種類 |
フィールド名 |
説明 |
---|---|---|
端末 |
デバイスの種類 | |
tin |
端末の入力待ち行列内の文字数 |
|
tout |
端末の出力待ち行列内の文字数 |
|
ディスク |
デバイスの種類 | |
bps |
1 秒当たりのブロック数 |
|
tps |
1 秒当たりのトランザクション数 |
|
serv |
ミリ秒単位で表した平均サービス時間 |
|
CPU |
デバイスの種類 | |
us |
ユーザーモード |
|
sy |
システムモード |
|
wt |
入出力待機中 |
|
id |
アイドル状態 |
iostat -xtc コマンドを実行すると、拡張ディスク統計情報が表示されます。
$ iostat -xtc extended device statistics tty cpu device r/s w/s kr/s kw/s wait actv svc_t %w %b tin tout us sy wt id fd0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 0 0 0 0 100 sd0 0.0 0.0 0.4 0.4 0.0 0.0 49.5 0 0 sd6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 nfs1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 nfs49 0.0 0.0 0.0 0.0 0.0 0.0 15.1 0 0 nfs53 0.0 0.0 0.4 0.0 0.0 0.0 24.5 0 0 nfs54 0.0 0.0 0.0 0.0 0.0 0.0 6.3 0 0 nfs55 0.0 0.0 0.0 0.0 0.0 0.0 4.9 0 0 |
iostat -xtc コマンドを使用すると、ディスクごとに 1 行ずつ出力が表示されます。出力フィールドを次のリストに示します。
1 秒当たりの読み取り数
1 秒当たりの書き込み数
1 秒当たりの読み取りキロバイト数
1 秒当たりの書き込みキロバイト数
サービス (待ち行列の長さ) を待機中の平均トランザクション数
サービス中の平均トランザクション数
ミリ秒単位で表した平均サービス時間
待ち行列が空でない時間の割合
ディスクがビジーである時間の割合
df コマンドを使用すると、マウントされている各ディスク上の空きディスク容量が表示されます。レポート用の統計情報では使用可能容量の合計の内先頭に 10% の空き容量を残しておくので、df から報告される「使用可能」ディスク容量は全容量の 90% のみに相当します。この「先頭の空き容量」は、パフォーマンスを高めるために常に空になっています。
実際に df コマンドからレポートされるディスク容量の割合は、使用済み容量を使用可能容量で割った値です。
ファイルシステムの容量が 90% を超える場合、cp コマンドを使用して空いているディスクにファイルを転送できます。また、tar コマンドか cpio コマンドを使用してテープにファイルを転送することもできます。また、ファイルを削除することもできます。
このコマンドの詳細については、df(1M) のマニュアルページを参照してください。
df -k コマンドを使用すると、ディスク容量情報がキロバイト単位で表示されます。
$ df -k Filesystem kbytes used avail capacity Mounted on /dev/dsk/c0t3d0s0 192807 40231 133296 24% / |
$ df -k Filesystem kbytes used avail capacity Mounted on /dev/dsk/c0t0d0s0 254966 204319 25151 90% / /devices 0 0 0 0% /devices ctfs 0 0 0 0% /system/contract proc 0 0 0 0% /proc mnttab 0 0 0 0% /etc/mnttab swap 496808 376 496432 1% /etc/svc/volatile objfs 0 0 0 0% /system/object /dev/dsk/c0t0d0s6 3325302 3073415 218634 94% /usr fd 0 0 0 0% /dev/fd swap 496472 40 496432 1% /var/run swap 496472 40 496432 1% /tmp /dev/dsk/c0t0d0s5 13702 1745 10587 15% /opt /dev/dsk/c0t0d0s7 9450 1045 7460 13% /export/home |
フィールド名 |
説明 |
---|---|
kbytes |
ファイルシステム内の使用可能容量の合計 |
used |
使用されている容量 |
avail |
使用可能容量 |
capacity |
使用されている容量が全容量に占める割合 |
mounted on |
マウントポイント |
システム動作についてのデータを編成し表示します。
特別な要求に基づいて、システム動作データにアクセスします。
システムパフォーマンスを測定および監視するレポートを自動的に生成します。また、特定のパフォーマンス障害を正確に突き止めるための、特別な要求レポートも生成します。sar コマンドを設定してシステム上で実行する方法と、これらのツールの説明については、「システム動作データの自動収集 (sar)」を参照してください。
このコマンドの詳細については、sar(1) のマニュアルページを参照してください。
sar -aコマンドを使用すると、ファイルアクセス操作の統計情報が表示されます。
$ sar -a SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:00 iget/s namei/s dirbk/s 01:00:00 0 3 0 02:00:00 0 3 0 03:00:00 0 3 0 04:00:00 0 3 0 05:00:00 0 3 0 06:00:00 0 3 0 07:00:00 0 3 0 08:00:00 0 3 0 08:20:01 0 3 0 08:40:00 0 3 0 09:00:00 0 3 0 09:20:01 0 10 0 09:40:01 0 1 0 10:00:02 0 5 0 Average 0 4 0 |
次に、sar -a コマンドによって表示される、フィールド名とオペレーティングシステムのルーチンを示します。
ディレクトリ名検索キャッシュ (DNLC) 内に入っていない i ノードに対して出された要求数
1 秒当たりのファイルシステムパスの検索数。namei で DNLC 内にディレクトリ名が見つからない場合は、iget が呼び出され、ファイルまたはディレクトリの i ノードが取得される。したがって、ほとんどの igets は DNLC が欠落した結果である
1 秒間に実行されたディレクトリブロックの読み取り回数
これらのオペレーティングシステムルーチンに対して表示される値が大きいほど、カーネルはユーザーファイルへのアクセスに長い時間を費やしています。この時間には、プログラムとアプリケーションによるファイルシステムの使用量が反映されます。-a オプションを使用すると、アプリケーションのディスク依存度を表示できるので便利です。
sar -b コマンドを使用すると、バッファー動作の統計情報が表示されます。
バッファーは、メタデータをキャッシュするために使用されます。メタデータには、i ノード、シリンダグループブロック、間接ブロックなどがあります。
$ sar -b 00:00:00 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s 01:00:00 0 0 100 0 0 55 0 0 |
次の sar -b コマンド出力の例は、%rcache バッファーと %wcache バッファーが処理速度を低下させていないことを示します。すべてのデータは許容範囲に収まっています。
$ sar -b SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:04 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s 01:00:00 0 0 100 0 0 94 0 0 02:00:01 0 0 100 0 0 94 0 0 03:00:00 0 0 100 0 0 92 0 0 04:00:00 0 1 100 0 1 94 0 0 05:00:00 0 0 100 0 0 93 0 0 06:00:00 0 0 100 0 0 93 0 0 07:00:00 0 0 100 0 0 93 0 0 08:00:00 0 0 100 0 0 93 0 0 08:20:00 0 1 100 0 1 94 0 0 08:40:01 0 1 100 0 1 93 0 0 09:00:00 0 1 100 0 1 93 0 0 09:20:00 0 1 100 0 1 93 0 0 09:40:00 0 2 100 0 1 89 0 0 10:00:00 0 9 100 0 5 92 0 0 10:20:00 0 0 100 0 0 68 0 0 10:40:00 0 1 98 0 1 70 0 0 11:00:00 0 1 100 0 1 75 0 0 Average 0 1 100 0 1 91 0 0 |
次の表は、-b オプションを指定したときに表示されるバッファー動作を示します。
フィールド名 |
説明 |
---|---|
bread/s |
ディスクからバッファーキャッシュに投入された 1 秒当たりの平均読み取り数 |
lread/s |
バッファーキャッシュからの 1 秒当たりの平均論理読み取り数 |
%rcache |
バッファーキャッシュ内で見つかった論理読み込み数の割合 (lread/s に対する bread/s の比を 100% から差し引いた値) |
bwrit/s |
バッファーキャッシュからディスクに書き込まれた 1 秒当たりの平均物理ブロック数 (512 ブロック) |
lwrit/s |
バッファーキャッシュへの 1 秒当たりの平均論理書き込み数 |
%wcache |
バッファーキャッシュ内で見つかった論理書き込み数の割合 (lwrit/s に対する bwrit/s の比を 100% から差し引いた値) |
pread/s |
キャラクタ型デバイスインタフェースを使用する 1 秒当たりの平均物理読み取り数 |
pwrit/s |
キャラクタ型デバイスインタフェースを使用する 1 秒当たりの平均物理書き込み要求数 |
もっとも重要なエントリは、キャッシュヒット率 %rcache と %wcache です。これらのエントリは、システムバッファリングの有効性を測定します。%rcache が 90% 未満の場合や、%wcache が 65% 未満の場合は、バッファー領域を大きくすればパフォーマンスを改善できる可能性があります。
sar -c コマンドを使用すると、システムコールの統計情報が表示されます。
$ sar -c 00:00:00 scall/s sread/s swrit/s fork/s exec/s rchar/s wchar/s 01:00:00 38 2 2 0.00 0.00 149 120 |
次の例は、sar -c コマンドからの出力を示します。
$ sar -c SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:04 scall/s sread/s swrit/s fork/s exec/s rchar/s wchar/s 01:00:00 89 14 9 0.01 0.00 2906 2394 02:00:01 89 14 9 0.01 0.00 2905 2393 03:00:00 89 14 9 0.01 0.00 2908 2393 04:00:00 90 14 9 0.01 0.00 2912 2393 05:00:00 89 14 9 0.01 0.00 2905 2393 06:00:00 89 14 9 0.01 0.00 2905 2393 07:00:00 89 14 9 0.01 0.00 2905 2393 08:00:00 89 14 9 0.01 0.00 2906 2393 08:20:00 90 14 9 0.01 0.01 2914 2395 08:40:01 90 14 9 0.01 0.00 2914 2396 09:00:00 90 14 9 0.01 0.01 2915 2396 09:20:00 90 14 9 0.01 0.01 2915 2396 09:40:00 880 207 156 0.08 0.08 26671 9290 10:00:00 2020 530 322 0.14 0.13 57675 36393 10:20:00 853 129 75 0.02 0.01 10500 8594 10:40:00 2061 524 450 0.08 0.08 579217 567072 11:00:00 1658 404 350 0.07 0.06 1152916 1144203 Average 302 66 49 0.02 0.01 57842 55544 |
次の表は、-c オプションを指定したときに報告されるシステムコールのカテゴリを示します。一般に、読み取りと書き込みがシステムコール合計の約半分を占めます。ただし、システムで実行中の動作によってこの割合は大幅に変動します。
フィールド名 |
説明 |
---|---|
scall/s |
1 秒当たりのすべてのタイプのシステムコール数 (通常は、4 ユーザーから 6 ユーザーのシステム上で 1 秒当たり約 30) |
sread/s |
1 秒当たりの read システムコール数 |
swrit/s |
1 秒当たりの write システムコール数 |
fork/s |
1 秒当たりのfork システムコール数 (4 ユーザーから 6 ユーザーのシステム上で毎秒約 0.5)。この数値は、シェルスクリプトの実行中は大きくなる |
exec/s |
1 秒当たりの exec システムコール数。exec/s を fork/s で割った値が 3 より大きい場合は、効率の悪い PATH 変数を調べる |
rchar/s |
read システムコールによって転送される 1 秒当たりの文字 (バイト) 数 |
wchar/s |
write システムコールによって転送される 1 秒当たりの文字 (バイト) 数 |
sar -d コマンドを使用すると、ディスク動作の統計情報が表示されます。
$ sar -d 00:00:00 device %busy avque r+w/s blks/s avwait avserv |
次の例は、sar -d コマンドからの一部省略した出力を示します。
$ sar -d SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 12:36:32 device %busy avque r+w/s blks/s avwait avserv 12:40:01 dad1 15 0.7 26 399 18.1 10.0 dad1,a 15 0.7 26 398 18.1 10.0 dad1,b 0 0.0 0 1 1.0 3.0 dad1,c 0 0.0 0 0 0.0 0.0 dad1,h 0 0.0 0 0 0.0 6.0 fd0 0 0.0 0 0 0.0 0.0 nfs1 0 0.0 0 0 0.0 0.0 nfs2 1 0.0 1 12 0.0 13.2 nfs3 0 0.0 0 2 0.0 1.9 nfs4 0 0.0 0 0 0.0 7.0 nfs5 0 0.0 0 0 0.0 57.1 nfs6 1 0.0 6 125 4.3 3.2 nfs7 0 0.0 0 0 0.0 6.0 sd1 0 0.0 0 0 0.0 5.4 ohci0,bu 0 0.0 0 0 0.0 0.0 ohci0,ct 0 0.0 0 0 0.0 0.0 ohci0,in 0 0.0 7 0 0.0 0.0 ohci0,is 0 0.0 0 0 0.0 0.0 ohci0,to 0 0.0 7 0 0.0 0.0 |
次の表は、-d オプションを指定したときに報告されるディスクデバイスの動作を示します。
フィールド名 |
説明 |
---|---|
デバイス |
監視中のディスクデバイス名 |
%busy |
デバイスが転送要求のサービスでビジーであった時間 |
avque |
デバイスが転送要求のサービスでビジーであった時間の間の平均要求数 |
r+w/s |
デバイスへの 1 秒当たりの読み取り転送数と書き込み転送数 |
blks/s |
デバイスに転送される 1 秒当たりの 512 バイトブロック数 |
avwait |
待ち行列内の転送要求の平均アイドル時間 (ミリ秒単位)。これは、待ち行列が占有されている場合のみ計測される |
avserv |
デバイスが 1 転送要求の処理に要する平均時間 (ミリ秒単位)。ディスクの場合は、この値にシークタイム、回転待ち時間、およびデータ転送時間が含まれる |
待ち行列内に何かがあるときは、待ち行列の長さと待ち時間が計測されるので注意してください。%busy の値が小さい場合に、待ち行列とサービス時間が大きければ、変更されたブロックをディスクに随時書き込むために、システムが定期的に処理していることを示す場合があります。
sar -g コマンドを使用すると、ページアウト動作の平均値とメモリー解放動作の平均値とが表示されます。
$ sar -g 00:00:00 pgout/s ppgout/s pgfree/s pgscan/s %ufs_ipf 01:00:00 0.00 0.00 0.00 0.00 0.00 |
sar -g コマンドで表示される出力は、より多くのメモリーが必要かどうかを判断するのに役立ちます。ps -elf コマンドを使用すると、page デーモンに使用される CPU サイクル数が表示されます。サイクル数が大きく、pgfree/s フィールドと pgscan/s フィールドの値が大きければ、メモリー不足を示します。
また、sar -g を使用すると、i ノードの再利用間隔が短すぎるために、再利用可能なページが失われているかどうかも表示されます。
次の例は、sar -g コマンドからの出力を示します。
$ sar -g SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:00 pgout/s ppgout/s pgfree/s pgscan/s %ufs_ipf 01:00:00 0.00 0.00 0.00 0.00 0.00 02:00:00 0.01 0.01 0.01 0.00 0.00 03:00:00 0.00 0.00 0.00 0.00 0.00 04:00:00 0.00 0.00 0.00 0.00 0.00 05:00:00 0.00 0.00 0.00 0.00 0.00 06:00:00 0.00 0.00 0.00 0.00 0.00 07:00:00 0.00 0.00 0.00 0.00 0.00 08:00:00 0.00 0.00 0.00 0.00 0.00 08:20:01 0.00 0.00 0.00 0.00 0.00 08:40:00 0.00 0.00 0.00 0.00 0.00 09:00:00 0.00 0.00 0.00 0.00 0.00 09:20:01 0.05 0.52 1.62 10.16 0.00 09:40:01 0.03 0.44 1.47 4.77 0.00 10:00:02 0.13 2.00 4.38 12.28 0.00 10:20:03 0.37 4.68 12.26 33.80 0.00 Average 0.02 0.25 0.64 1.97 0.00 |
次の表に -g オプションからの出力について説明します。
フィールド名 |
説明 |
---|---|
pgout/s |
1 秒間にページアウトされた要求数 |
ppgout/s |
1 秒間に実際にページアウトされたページ数。1 つのページアウト要求で複数のページがページアウトされることがあります。 |
pgfree/s |
空きリストに配置された 1 秒当たりのページ数。 |
pgscan/s |
page デーモンによって走査された 1 秒当たりのページ数。この値が大きい場合は、page デーモンが空きメモリーのチェックに大量の時間を費やしています。これは、メモリーを増やす必要があることを示します。 |
%ufs_ipf |
ufs の i ノードがそれに関連付けられた再使用可能ページを持つ iget によって、空きリストから取り出された割合。これらのページはフラッシュされ、プロセスが回収できなくなります。したがって、このフィールドはページフラッシュを 伴う igets の割合です。値が大きければ、i ノードの空きリストがページ境界であり、ufs の i ノード数を増やす必要があることを示します。 |
KMA を使用すると、カーネルサブシステムが必要に応じてメモリーを割り当てたり、解放したりできます。
KMA では、負荷のピーク時に必要と思われる最大メモリー容量を静的に割り当てることをせず、メモリーの要求を次の 3 つのカテゴリに分けます。
「小」 (256 バイト未満)
「大」 (512 バイト - 4K バイト)
「サイズ超過」 (4K バイト超)
KMA は、2 つのメモリープールを管理して、「小」要求と「大」要求を満たします。「サイズ超過」要求は、システムページアロケータからメモリーを割り当てることで満たされます。
KMA 資源を使用するドライバや STREAMS の作成に使用中のシステムを調査する場合は、sar -k コマンドを使用すると便利です。それ以外の場合は、このコマンドで提供される情報は不要です。KMA 資源を使用するが、終了前には特に資源を返さないドライバやモジュールがあると、メモリーのリークが生じることがあります。メモリーリークが発生すると、KMA によって割り当てられるメモリーは時間が経つにつれて増大します。したがって、sar -k コマンドの alloc フィールドの値が時間が経つにつれ増える場合は、メモリーリークの可能性があります。メモリーリークのもう 1 つの兆候は、要求が失敗することです。この問題が発生した場合は、メモリーリークのために KMA がメモリーを予約したり割り当てたりできなくなっている可能性があります。
メモリーリークが発生した場合は、KMA からメモリーを要求したが返していないドライバや STREAMS がないかどうかをチェックする必要があります。
sar -k コマンドを使用すると、KMA に関して次の動作が表示されます。
$ sar -k 00:00:00 sml_mem alloc fail lg_mem alloc fail ovsz_alloc fail 01:00:00 2523136 1866512 0 18939904 14762364 0 360448 0 02:00:02 2523136 1861724 0 18939904 14778748 0 360448 0 |
次の例は、sar -k 出力を示します。
$ sar -k SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:04 sml_mem alloc fail lg_mem alloc fail ovsz_alloc fail 01:00:00 6119744 4852865 0 60243968 54334808 156 9666560 0 02:00:01 6119744 4853057 0 60243968 54336088 156 9666560 0 03:00:00 6119744 4853297 0 60243968 54335760 156 9666560 0 04:00:00 6119744 4857673 0 60252160 54375280 156 9666560 0 05:00:00 6119744 4858097 0 60252160 54376240 156 9666560 0 06:00:00 6119744 4858289 0 60252160 54375608 156 9666560 0 07:00:00 6119744 4858793 0 60252160 54442424 156 9666560 0 08:00:00 6119744 4858985 0 60252160 54474552 156 9666560 0 08:20:00 6119744 4858169 0 60252160 54377400 156 9666560 0 08:40:01 6119744 4857345 0 60252160 54376880 156 9666560 0 09:00:00 6119744 4859433 0 60252160 54539752 156 9666560 0 09:20:00 6119744 4858633 0 60252160 54410920 156 9666560 0 09:40:00 6127936 5262064 0 60530688 55619816 156 9666560 0 10:00:00 6545728 5823137 0 62996480 58391136 156 9666560 0 10:20:00 6545728 5758997 0 62996480 57907400 156 9666560 0 10:40:00 6734144 6035759 0 64389120 59743064 156 10493952 0 11:00:00 6996288 6394872 0 65437696 60935936 156 10493952 0 Average 6258044 5150556 0 61138340 55609004 156 9763900 0 |
次の表に -k オプションからの出力について説明します。
フィールド名 |
説明 |
---|---|
sml_mem |
KMA が小メモリー要求プール内で使用できるメモリーのバイト数 (このプールでは、小要求は 256 バイト未満) |
alloc |
KMA が小メモリー要求プールから小メモリー要求に割り当てたメモリーのバイト数 |
fail |
失敗した小メモリー要求数 |
lg_mem |
KMA が大メモリー要求プール内で使用できるメモリーのバイト数 (このプールでは、 大要求は 512 バイトから 4K バイトまで) |
alloc |
KMA が大メモリー要求プールから大メモリー要求に割り当てたメモリーのバイト数 |
fail |
失敗した大メモリー要求数 |
ovsz_alloc |
サイズ超過要求 (4K バイトを超える要求) に割り当てられたメモリーの容量。これらの要求はページアロケータによって満たされる。このため、プールはない |
fail |
失敗したサイズ超過メモリー要求数 |
sar -m コマンドを使用すると、プロセス間通信の動作が表示されます。
$ sar -m 00:00:00 msg/s sema/s 01:00:00 0.00 0.00 |
通常、これらの数字は、メッセージやセマフォーを使用するアプリケーションを実行していない限りゼロ (0.00) です。
次の表に -m オプションからの出力について説明します。
1 秒当たりのメッセージ処理 (送受信) 数
1 秒当たりのセマフォー処理数
次の例は、sar -m コマンドからの一部省略した出力を示します。
$ sar -m SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:00 msg/s sema/s 01:00:00 0.00 0.00 02:00:02 0.00 0.00 03:00:00 0.00 0.00 04:00:00 0.00 0.00 05:00:01 0.00 0.00 06:00:00 0.00 0.00 Average 0.00 0.00 |
sar -p コマンドを使用すると、保護フォルトや変換フォルトを含むページイン動作が表示されます。
$ sar -p 00:00:00 atch/s pgin/s ppgin/s pflt/s vflt/s slock/s 01:00:00 0.07 0.00 0.00 0.21 0.39 0.00 |
次の例は、sar -p コマンドからの出力を示します。
$ sar -p SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:04 atch/s pgin/s ppgin/s pflt/s vflt/s slock/s 01:00:00 0.09 0.00 0.00 0.78 2.02 0.00 02:00:01 0.08 0.00 0.00 0.78 2.02 0.00 03:00:00 0.09 0.00 0.00 0.81 2.07 0.00 04:00:00 0.11 0.01 0.01 0.86 2.18 0.00 05:00:00 0.08 0.00 0.00 0.78 2.02 0.00 06:00:00 0.09 0.00 0.00 0.78 2.02 0.00 07:00:00 0.08 0.00 0.00 0.78 2.02 0.00 08:00:00 0.09 0.00 0.00 0.78 2.02 0.00 08:20:00 0.11 0.00 0.00 0.87 2.24 0.00 08:40:01 0.13 0.00 0.00 0.90 2.29 0.00 09:00:00 0.11 0.00 0.00 0.88 2.24 0.00 09:20:00 0.10 0.00 0.00 0.88 2.24 0.00 09:40:00 2.91 1.80 2.38 4.61 17.62 0.00 10:00:00 2.74 2.03 3.08 8.17 21.76 0.00 10:20:00 0.16 0.04 0.04 1.92 2.96 0.00 10:40:00 2.10 2.50 3.42 6.62 16.51 0.00 11:00:00 3.36 0.87 1.35 3.92 15.12 0.00 Average 0.42 0.22 0.31 1.45 4.00 0.00 |
次の表に -p オプションから報告される統計情報を示します。
フィールド名 |
説明 |
---|---|
atch/s |
現在メモリーに入っているページを回収して満たされる 1 秒当たりのページフォルト数 (1 秒当たりの付加数)。この例には、空きリストから無効なページを回収し、別のプロセスに現在使用中のテキストページを共有する処理が含まれます。たとえば、複数のプロセスが同じプログラムテキストにアクセスしている場合などです。 |
pgin/s |
ファイルシステムがページイン要求を受信する 1 秒当たりの回数。 |
ppgin/s |
ページインされる 1 秒当たりのページ数。ソフトロック要求 (slock/s を参照) などの 1 つのページイン要求や、大型ブロックサイズでは、複数のページがページインされることがあります。 |
pflt/s |
保護エラーによるページフォルト数。保護フォルトの例には、ページへの不正なアクセスや、「書き込み時コピー」などがあります。通常、この数値は主に「書き込み時コピー」からなっています。 |
vflt/s |
1 秒当たりのアドレス変換ページフォルト数。このフォルトは、有効性フォルトと呼ばれます。有効性フォルトは、仮想アドレスに有効なプロセステーブルエントリが存在しないときに発生します。 |
slock/s |
物理入出力を要求するソフトウェアロック要求によって発生する 1 秒当たりのフォルト数。ソフトロック要求の発生例には、ディスクからメモリーへのデータ転送などがあります。システムはデータを受信するページをロックするので、別のプロセスはそれを回収して使用できません。 |
sar -q コマンドを使用すると、以下の情報を報告できます。
待ち行列に要求が入っている間の平均待ち行列の長さ
待ち行列に要求が入っている時間の割合
$ sar -q 00:00:00 runq-sz %runocc swpq-sz %swpocc |
次の表に -q オプションからの出力について説明します。
CPU を実行するためにメモリー内で待機中のカーネルスレッド数。通常、この値は 2 未満になる。値が常に 2 より大きい場合は、システムが CPU の限界に到達している可能性がある
ディスパッチ待ち行列が使用されている時間の割合
sar コマンドのプロセスのスワップ待ち行列。
sar コマンドのプロセスのスワップ待ち行列。
次の例は、sar -q コマンドからの出力を示します。%runocc の値が大きく (90 パーセント超)、runq-sz の値が 2 より大きい場合は、CPU の負荷が大きく、応答速度が低下しています。この場合は、CPU の容量を増やしてシステムの応答速度を適正化する必要があります。
# sar -q SunOS system2 5.10 Generic_142909-13 sun4u 06/28/2010 00:00:00 runq-sz %runocc swpq-sz %swpocc 01:00:00 1.0 7 0.0 0 02:00:00 1.0 7 0.0 0 03:00:00 1.0 7 0.0 0 04:00:00 1.0 7 0.0 0 05:00:00 1.0 6 0.0 0 06:00:00 1.0 7 0.0 0 Average 1.0 7 0.0 0 |
sar -r コマンドを使用すると、現在使用されていないメモリーページ数とスワップファイルのディスクブロック数が表示されます。
$ sar -r 00:00:00 freemem freeswap 01:00:00 2135 401922 |
次の表では、-r オプションからの出力について説明します。
コマンドによるサンプル収集間隔の間にユーザープロセスに利用できる平均メモリーページ数。ページサイズはマシンに応じて異なる
ページスワップに使用可能な 512 バイトのディスクブロック数
次の例は、sar -r コマンドからの出力を示します。
$ sar -r SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:04 freemem freeswap 01:00:00 44717 1715062 02:00:01 44733 1715496 03:00:00 44715 1714746 04:00:00 44751 1715403 05:00:00 44784 1714743 06:00:00 44794 1715186 07:00:00 44793 1715159 08:00:00 44786 1714914 08:20:00 44805 1715576 08:40:01 44797 1715347 09:00:00 44761 1713948 09:20:00 44802 1715478 09:40:00 41770 1682239 10:00:00 35401 1610833 10:20:00 34295 1599141 10:40:00 33943 1598425 11:00:00 30500 1561959 Average 43312 1699242 |
sar -u コマンドを使用すると、CPU 使用状況の統計が表示されます。
$ sar -u 00:00:00 %usr %sys %wio %idle 01:00:00 0 0 0 100 |
オプションを指定しない sar コマンドは、sar -u コマンドと同じです。プロセッサの状態には、「ビジー」と「アイドル」があります。ビジー状態のときは、プロセッサはユーザーモードまたはシステムモードになっています。アイドル状態のときは、プロセッサは入出力の完了を待っているか、何も処理することがないので「待機」している状態です。
次の表では、-u オプションからの出力について説明します。
プロセッサがユーザーモードになっている時間の割合が表示されます。
プロセッサがシステムモードになっている時間の割合が表示されます。
プロセッサがアイドル状態で入出力の完了を待っている時間の割合が表示されます。
プロセッサがアイドル状態で入出力を待っていない時間の割合が表示されます。
一般に、%wio の値が大きい場合は、ディスクの処理速度が低下していることを意味します。
次の例は、sar -u コマンドからの出力を示します。
$ sar -u SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:04 %usr %sys %wio %idle 01:00:00 0 0 0 100 02:00:01 0 0 0 100 03:00:00 0 0 0 100 04:00:00 0 0 0 100 05:00:00 0 0 0 100 06:00:00 0 0 0 100 07:00:00 0 0 0 100 08:00:00 0 0 0 100 08:20:00 0 0 0 99 08:40:01 0 0 0 99 09:00:00 0 0 0 99 09:20:00 0 0 0 99 09:40:00 4 1 0 95 10:00:00 4 2 0 94 10:20:00 1 1 0 98 10:40:00 18 3 0 79 11:00:00 25 3 0 72 Average 2 0 0 98 |
sar -v コマンドを使用すると、プロセステーブル、i ノードテーブル、ファイルテーブル、および共有メモリーレコードテーブルの状態が表示されます。
$ sar -v 00:00:00 proc-sz ov inod-sz ov file-sz ov lock-sz 01:00:00 43/922 0 2984/4236 0 322/322 0 0/0 |
次の例は、sar -v コマンドからの一部省略した出力を示します。この例は、すべてのテーブルに十分なサイズがあり、オーバーフローは発生しないことを示します。これらのテーブルには、いずれも物理メモリーの容量に基づいて領域が動的に割り当てられます。
$ sar -v SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:04 proc-sz ov inod-sz ov file-sz ov lock-sz 01:00:00 69/8010 0 3476/34703 0 0/0 0 0/0 02:00:01 69/8010 0 3476/34703 0 0/0 0 0/0 03:00:00 69/8010 0 3476/34703 0 0/0 0 0/0 04:00:00 69/8010 0 3494/34703 0 0/0 0 0/0 05:00:00 69/8010 0 3494/34703 0 0/0 0 0/0 06:00:00 69/8010 0 3494/34703 0 0/0 0 0/0 07:00:00 69/8010 0 3494/34703 0 0/0 0 0/0 08:00:00 69/8010 0 3494/34703 0 0/0 0 0/0 08:20:00 69/8010 0 3494/34703 0 0/0 0 0/0 08:40:01 69/8010 0 3494/34703 0 0/0 0 0/0 09:00:00 69/8010 0 3494/34703 0 0/0 0 0/0 09:20:00 69/8010 0 3494/34703 0 0/0 0 0/0 09:40:00 74/8010 0 3494/34703 0 0/0 0 0/0 10:00:00 75/8010 0 4918/34703 0 0/0 0 0/0 10:20:00 72/8010 0 4918/34703 0 0/0 0 0/0 10:40:00 71/8010 0 5018/34703 0 0/0 0 0/0 11:00:00 77/8010 0 5018/34703 0 0/0 0 0/0 |
次の表に -v オプションからの出力について説明します。
フィールド名 |
説明 |
---|---|
proc-sz |
現在カーネル内で使用されているか割り当てられている、プロセスエントリ (proc 構造体) の数。 |
inod-sz |
メモリー内の合計 i ノード数とカーネル内で割り当て済みの最大 i ノード数の比。これは厳密な上限ではありません。ここからオーバーフローすることもあります。 |
file-sz |
開いているシステムファイルテーブルのサイズ。ファイルテーブルには領域が動的に割り当てられるので、sz は 0 として表示されます。 |
ov |
各テーブルのサンプルポイント間で発生しているオーバーフロー。 |
lock-sz |
現在カーネル内で使用されているか割り当てられている、共有メモリーレコードテーブルのエントリ数。共有メモリーレコードテーブルには領域が動的に割り当てられるので、sz は 0 として表示されます。 |
sar -w コマンドを使用すると、スワッピングと切り替え動作が表示されます。
$ sar -w 00:00:00 swpin/s bswin/s swpot/s bswot/s pswch/s 01:00:00 0.00 0.0 0.00 0.0 22 |
次に、 sar -w コマンド出力の対象となる値と説明を示します。
メモリーに転送される 1 秒当たりの軽量プロセス数
スワップイン用に転送される 1 秒当たりのブロック数。 /* (float)PGTOBLK(xx->cvmi.pgswapin) / sec_diff */.
メモリーからスワップアウトされる 1 秒当たりの平均プロセス数。この数値が 1 より大きい場合は、メモリーを増やす必要がある
スワップアウト用に転送される 1 秒当たりのブロック数
1 秒当たりのカーネルスレッド切り替え数
すべてのプロセスのスワップインには、プロセスの初期化が含まれます。
次の例は、sar -w コマンドからの出力を示します。
$ sar -w SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:04 swpin/s bswin/s swpot/s bswot/s pswch/s 01:00:00 0.00 0.0 0.00 0.0 132 02:00:01 0.00 0.0 0.00 0.0 133 03:00:00 0.00 0.0 0.00 0.0 133 04:00:00 0.00 0.0 0.00 0.0 134 05:00:00 0.00 0.0 0.00 0.0 133 06:00:00 0.00 0.0 0.00 0.0 133 07:00:00 0.00 0.0 0.00 0.0 132 08:00:00 0.00 0.0 0.00 0.0 131 08:20:00 0.00 0.0 0.00 0.0 133 08:40:01 0.00 0.0 0.00 0.0 132 09:00:00 0.00 0.0 0.00 0.0 132 09:20:00 0.00 0.0 0.00 0.0 132 09:40:00 0.00 0.0 0.00 0.0 335 10:00:00 0.00 0.0 0.00 0.0 601 10:20:00 0.00 0.0 0.00 0.0 353 10:40:00 0.00 0.0 0.00 0.0 747 11:00:00 0.00 0.0 0.00 0.0 804 Average 0.00 0.0 0.00 0.0 198 |
sar -y コマンドを使用すると、端末デバイスの動作を監視できます。
$ sar -y 00:00:00 rawch/s canch/s outch/s rcvin/s xmtin/s mdmin/s 01:00:00 0 0 0 0 0 0 |
大量の端末入出力がある場合は、このレポートを使用して不良な回線がないかどうかを判別できます。次に、記録される動作を示します。
1 秒当たりの入力文字数 (raw 待ち行列)。
標準待ち行列で処理される 1 秒当たりの入力文字数。
1 秒当たりの出力文字数 (出力待ち行列)。
1 秒当たりの受信側ハードウェア割り込み数。
1 秒当たりの送信側ハードウェア割り込み数。
1 秒当たりのモデム割り込み数。
1 秒当たりのモデム割り込み数 (mdmin/s) は、0 に近い値になります。また、1 秒当たりの送受信側ハードウェア割り込み数 ( xmtin/s と rcvin/s) は、それぞれ着信または発信文字数以下になります。そうでない場合は、不良回線がないかどうかをチェックしてください。
次の例は、sar -y コマンドからの出力を示します。
$ sar -y SunOS balmyday 5.10 s10_51 sun4u 03/18/2004 00:00:04 rawch/s canch/s outch/s rcvin/s xmtin/s mdmin/s 01:00:00 0 0 0 0 0 0 02:00:01 0 0 0 0 0 0 03:00:00 0 0 0 0 0 0 04:00:00 0 0 0 0 0 0 05:00:00 0 0 0 0 0 0 06:00:00 0 0 0 0 0 0 07:00:00 0 0 0 0 0 0 08:00:00 0 0 0 0 0 0 08:20:00 0 0 0 0 0 0 08:40:01 0 0 0 0 0 0 09:00:00 0 0 0 0 0 0 09:20:00 0 0 0 0 0 0 09:40:00 0 0 1 0 0 0 10:00:00 0 0 37 0 0 0 10:20:00 0 0 0 0 0 0 10:40:00 0 0 3 0 0 0 11:00:00 0 0 3 0 0 0 Average 0 0 1 0 0 0 |
sar -A コマンドを使用すると、すべてのオプションを指定した場合と同じように、システム全体のパフォーマンスを示す統計情報が表示されます。
このコマンドを使用すると、全体像を把握できます。複数のタイムセグメントからのデータが表示される場合は、レポートに平均値が含まれます。
システム動作データを自動的に収集するには、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) のマニュアルページを参照してください。