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

印刷ビューの終了

更新: 2014 年 9 月
 
 

システム動作のモニタリング (sar)

    次のタスクを実行するには、sar コマンドを使用します。

  • システム動作についてのデータを編成し表示します。

  • 特別な要求に基づいて、システム動作データにアクセスします。

  • システムパフォーマンスを測定およびモニターするレポートを自動的に生成し、特定のパフォーマンス障害を正確に突き止めるための、特別なリクエストレポートも生成します。sar コマンドを設定してシステム上で実行する方法と、これらのツールの説明については、システム動作データの自動収集 (sar)を参照してください。

このコマンドの詳細については、sar(1) のマニュアルページを参照してください。

ファイルアクセスをチェックする (sar –a)

sar -a コマンドでファイルアクセス操作の統計情報を表示します。

$ sar -a

SunOS t2k-brm-24 5.10 Generic_144500-10 sun4v    ...

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 コマンドによって報告されるオペレーティングシステムのルーチンは、次のとおりです。

iget/s

ディレクトリ名検索キャッシュ (DNLC) 内に入っていない i ノードに対して出された要求数

namei/s

1 秒当たりのファイルシステムパスの検索数。namei で DNLC 内にディレクトリ名が見つからない場合は、iget が呼び出され、ファイルまたはディレクトリの i ノードが取得される。したがって、ほとんどの igets は DNLC が欠落した結果である

dirbk/s

1 秒間に実行されたディレクトリブロックの読み取り回数

これらのオペレーティングシステムルーチンに対してレポートされる値が大きい程、カーネルはユーザーファイルへのアクセスに長い時間を費やしています。この時間には、プログラムとアプリケーションによるファイルシステムの使用量が反映されます。–a オプションを使用すると、アプリケーションのディスク依存度を表示できるので便利です。

バッファー動作をチェックする (sar –b)

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

次の表は、–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% 未満の場合は、バッファー領域を大きくすればパフォーマンスを改善できる可能性があります。

使用例 3-3  バッファー動作をチェックする (sar –b)

次の sar -b コマンド出力の例は、%rcache および %wcache バッファーが速度低下を引き起こしていないことを示しています。すべてのデータは許容範囲に収まっています。

$ sar -b

SunOS t2k-brm-24 5.10 Generic_144500-10 sun4v    ...

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

システムコールの統計情報をチェックする (sar –c)

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

次のリストは、–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/sfork/s で割った値が 3 より大きい場合は、効率の悪い PATH 変数を調べる。

rchar/s

read システムコールによって転送される 1 秒当たりの文字 (バイト) 数

wchar/s

write システムコールによって転送される 1 秒当たりの文字 (バイト) 数

使用例 3-4  システムコールの統計情報をチェックする (sar –c)

次の例は、sar -c コマンドからの出力を示します。

$ sar -c

SunOS balmy 5.10 Generic_144500-10 sun4v ...
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

ディスク動作をチェックする (sar –d)

sar -d コマンドを使用すると、ディスク動作の統計情報が表示されます。

$ sar -d

00:00:00   device        %busy   avque   r+w/s  blks/s  avwait  avserv

次のリストは、–d オプションを指定したときに報告されるディスクデバイスの動作を示します。

device

モニター中のディスクデバイス名

%busy

デバイスが転送要求のサービスでビジーであった時間

avque

デバイスが転送要求のサービスでビジーであった時間の間の平均要求数

r+w/s

デバイスへの 1 秒当たりの読み取り転送数と書き込み転送数

blks/s

デバイスに転送される 1 秒当たりの 512 バイトブロック数

avwait

待ち行列内の転送リクエストの平均時間 (ミリ秒単位)。これは、待ち行列が占有されている場合のみ計測される

avserv

デバイスが 1 転送要求の処理に要する平均時間 (ミリ秒単位)。ディスクの場合は、この値にシークタイム、回転待ち時間、およびデータ転送時間が含まれる

使用例 3-5  ディスク動作をチェックする

次の例は、sar -d コマンドからの一部省略した出力を示します。

$ sar -d

SunOS balmy 5.10 Generic_144500-10 sun4v    ...

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

待ち行列内に何かがあるときは、待ち行列の長さと待ち時間が計測されるので注意してください。%busy の値が小さい場合に、待ち行列とサービス時間が大きければ、変更されたブロックをディスクに随時書き込むために、システムが定期的に処理していることを示す場合があります。

ページアウトとメモリーをチェックする (sar –g)

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 ノードの再利用間隔が短すぎるために、再利用可能なページが失われているかどうかも表示されます。

次のリストでは –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 ノード数を増やす必要があることを示します。

使用例 3-6  ページアウトとメモリーをチェックする (sar -g)

次の例は、sar -g コマンドからの出力を示します。

$ sar -g

SunOS balmy 5.10 Generic_144500-10 sun4v    ...

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

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

カーネルメモリーの割り当て (KMA) では、カーネルサブシステムが必要に応じてメモリーを割り当てたり解放したりします。

    KMA では、ロードのピーク時に必要と思われる最大メモリー容量を静的に割り当てることをせず、メモリーのリクエストを次の 3 つのカテゴリに分けます。

  • 「小」 (256 バイト未満)

  • 「大」 (512 バイト - 4K バイト)

  • 「サイズ超過」 (4K バイト超)

KMA は、2 つのメモリープールを管理して、「小」要求と「大」要求を満たします。「サイズ超過」要求は、システムページアロケータからメモリーを割り当てることで満たされます。

KMA リソースを使用するドライバや STREAMS の書き込みに使用中のシステムを調査する場合は、sar -k コマンドを使用すると便利です。KMA リソースを使用するが、終了前には特にリソースを返さないドライバやモジュールがあると、メモリーのリークが生じることがあります。メモリーリークが発生すると、KMA によって割り当てられるメモリーは時間が経つにつれて増大します。したがって、sar -k コマンドの alloc フィールドの値が時間が経つにつれ増える場合は、メモリーリークの可能性があります。メモリーリークのもう 1 つの兆候は、要求が失敗することです。この問題が発生した場合は、メモリーリークのために KMA がメモリーを予約したり割り当てたりできなくなっている可能性があります。

メモリーリークが発生した場合は、KMA からメモリーを要求したが返していないドライバや STREAMS がないかどうかをチェックする必要があります。

カーネルメモリーの割り当てをチェックする(sar –k)

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

次のリストに –k オプションからの出力について説明します。

sml_mem

KMA が小メモリーリクエストプール内で使用できるメモリーのバイト数。このプールでは、小リクエストは 256 バイト未満。

alloc

KMA が小メモリーリクエストプールから小メモリーリクエストに割り当てたメモリーのバイト数。

fail

失敗した小メモリー要求数

lg_mem

KMA が大メモリーリクエストプール内で使用できるメモリーのバイト数。 (このプールでは、 大要求は 512 バイトから 4K バイトまで)

alloc

KMA が大メモリーリクエストプールから大メモリーリクエストに割り当てたメモリーのバイト数。

fail

失敗した大メモリー要求数

ovsz_alloc

サイズ超過要求 (4K バイトを超える要求) に割り当てられたメモリーの容量。これらの要求はページアロケータによって満たされる。このため、プールはない

fail

失敗したサイズ超過メモリー要求数

使用例 3-7   カーネルメモリーの割り当てをチェックする(sar –k)

次の例は、簡略化された sar -k 出力を示します。

$ sar -k

SunOS balmy 5.10 Generic_144500-10 sun4v    ...
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

プロセス間通信をチェックする (sar –m)

sar -m コマンドを使用し、プロセス間通信の動作を報告します。

$ sar -m
00:00:00   msg/s  sema/s
01:00:00    0.00    0.00

通常、これらの数字は、メッセージやセマフォーを使用するアプリケーションを実行していない限りゼロ (0.00) です。

–m オプションからの出力は次のとおりです。

msg/s

1 秒当たりのメッセージ処理 (送受信) 数

sema/s

1 秒当たりのセマフォー処理数

次の例は、sar -m コマンドからの一部省略した出力を示します。

$ sar -m

SunOS balmy 5.10 Generic_144500-10 sun4v    ...

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 コマンドを使用して、保護および変換フォルトを含むページイン動作を報告します。

$ 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

次のリストに –p オプションから報告される統計情報を示します。

atch/s

現在メモリーに入っているページを回収して満たされる 1 秒当たりのページフォルト数 (1 秒当たりの付加数)。この例には、空きリストから無効なページを回収し、別のプロセスに現在使用中のテキストページを共有する処理が含まれます。たとえば、複数のプロセスが同じプログラムテキストにアクセスしている場合などです。

pgin/s

ファイルシステムがページインリクエストを受信する 1 秒当たりの回数。

ppgin/s

ページインされる 1 秒当たりのページ数。ソフトロック要求 (slock/s を参照) などの 1 つのページイン要求や、大型ブロックサイズでは、複数のページがページインされることがあります。

pflt/s

保護エラーによるページフォルト数。保護フォルトの例には、ページへの不正なアクセスや、書き込み時コピーなどがあります。通常、この数値は主に書き込み時コピーからなっています。

vflt/s

1 秒当たりのアドレス変換ページフォルト数。これらのフォルトは有効性フォルトと呼ばれ、仮想アドレスに有効なプロセステーブルエントリが存在しないときに発生します。

slock/s

物理入出力を必要するソフトウェアロックリクエストによって発生する 1 秒当たりのフォルト数。ソフトロック要求の発生例には、ディスクからメモリーへのデータ転送などがあります。システムはデータを受信するページをロックするので、別のプロセスはそれを回収して使用できません。

使用例 3-8  ページイン動作をチェックする (sar –p)

次の例は、sar –p コマンドからの出力を示します。

$ sar -p

SunOS balmy 5.10 Generic_144500-10 sun4v    ...

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

待ち行列動作をチェックする (sar –q)

sar –q コマンドを使用し、次の情報を報告します。

  • 待ち行列にリクエストが入っている間の平均待ち行列の長さ。

  • 待ち行列に要求が入っている時間の割合

$ sar -q
00:00:00 runq-sz %runocc swpq-sz %swpocc

–q オプションからの出力は次のとおりです。

runq-sz

CPU を実行するためにメモリー内で待機中のカーネルスレッド数。通常、この値は 2 未満になる。値が常に 2 より大きい場合は、システムが CPU の限界に到達している可能性がある

%runocc

ディスパッチ待ち行列が使用されている時間の割合

swpq-sz

スワップアウトされるプロセスの平均数。

%swpocc

プロセスがスワップアウトされている時間の割合。

使用例 3-9  待ち行列動作をチェックする

次の例は、sar -q コマンドからの出力を示します。%runocc の値が大きく (90 パーセント超)、runq-sz の値が 2 より大きい場合は、CPU の負荷が大きく、応答速度が低下しています。この場合は、CPU の容量を増やしてシステムの応答速度を適正化する必要があります。

# sar -q
SunOS balmy 5.10 Generic_144500-10 sun4v    ...

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 コマンドを使用し、現在使用されていないメモリーページ数とスワップファイルのディスクブロック数を報告します。

$ sar -r
00:00:00 freemem freeswap
01:00:00    2135   401922

–r オプションからの出力は次のとおりです。

freemem

コマンドによるサンプル収集間隔の間にユーザープロセスに利用できる平均メモリーページ数。ページサイズはマシンに応じて異なる

freeswap

ページスワップに使用可能な 512 バイトのディスクブロック数

使用例 3-10  未使用のメモリーをチェックする (sar –r)

次の例は、sar -r コマンドからの出力を示します。

$ sar -r

SunOS balmy 5.10 Generic_144500-10 sun4v    ...

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

CPU の使用状況をチェックする (sar –u)

sar -u コマンドを使用し、CPU の使用状況の統計情報を表示します。

$ sar -u
00:00:00    %usr    %sys    %wio   %idle
01:00:00       0       0       0     100

オプションを指定しない sar コマンドは、sar -u コマンドと同じです。プロセッサの状態には、「ビジー」と「アイドル」があります。ビジー状態のときは、プロセッサはユーザーモードまたはシステムモードになっています。アイドル状態のときは、プロセッサは入出力の完了を待っているか、何も処理することがない状態です。

–u オプションからの出力は次のとおりです。

%usr

プロセッサがユーザーモードになっている時間の割合

%sys

プロセッサがシステムモードになっている時間の割合

%wio

プロセッサがアイドル状態で入出力の完了を待っている時間の割合

%idle

プロセッサがアイドル状態で入出力を待っていない時間の割合

一般に、%wio の値が大きい場合は、ディスクの処理速度が低下していることを意味します。

使用例 3-11  CPU の使用状況をチェックする (sar -u)

次の例は、sar -u コマンドからの出力を示します。

$ sar -u

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)

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   

次のリストに –v オプションからの出力について説明します。

proc-sz

現在カーネル内で使用されているか割り当てられている、プロセスエントリ (proc 構造体) の数。

inod-sz

メモリー内の合計 i ノード数とカーネル内で割り当て済みの最大 i ノード数の比。これは厳密な上限ではありません。ここからオーバーフローすることもあります。

file-sz

開いているシステムファイルテーブルのサイズ。ファイルテーブルには領域が動的に割り当てられるので、sz0 として表示されます。

ov

各テーブルのサンプルポイント間で発生しているオーバーフロー。

lock-sz

カーネルで現在使用中または割り当てられている共有メモリーレコードテーブルのエントリの数。共有メモリーレコードテーブルには領域が動的に割り当てられるので、sz0 として表示されます。

使用例 3-12  システムテーブルのステータスをチェックする (sar –v)

次の例は、sar -v コマンドからの一部省略した出力を示します。この例は、すべてのテーブルに十分なサイズがあり、オーバーフローは発生しないことを示します。これらのテーブルには、いずれも物理メモリーの容量に基づいて領域が動的に割り当てられます。

$ sar -v

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  

スワッピング動作をチェックする (sar –w)

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 コマンド出力の対象となる値と説明を示します。

swpin/s

メモリーに転送される 1 秒当たりの軽量プロセス数

bswin/s

スワップイン用に転送される 1 秒当たりのブロック数。/* (float)PGTOBLK(xx->cvmi.pgswapin) / sec_diff */

swpot/s

メモリーからスワップアウトされる 1 秒当たりの平均プロセス数。この数値が 1 より大きい場合は、メモリーを増やす必要がある

bswot/s

スワップアウト用に転送される 1 秒当たりのブロック数

pswch/s

1 秒当たりのカーネルスレッド切り替え数。


注 -  すべてのプロセスのスワップインには、プロセスの初期化が含まれます。
使用例 3-13  スワップ動作をチェックする (sar –w)

次の例は、sar -w コマンドからの出力を示します。

$ sar -w

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 コマンドを使用して、端末デバイスの動作をモニターします。

$ 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

大量の端末入出力がある場合は、このレポートを使用して不良な回線がないかどうかを判別できます。次に、記録される動作を示します。

rawch/s

1 秒当たりの入力文字数 (raw 待ち行列)

canch/s

標準待ち行列で処理される 1 秒当たりの入力文字数

outch/s

1 秒当たりの出力文字数 (出力待ち行列)

rcvin/s

1 秒当たりの受信側ハードウェア割り込み数

xmtin/s

1 秒当たりの送信側ハードウェア割り込み数

mdmin/s

1 秒当たりのモデム割り込み数

1 秒当たりのモデム割り込み数 (mdmin/s) は、0 に近い値になります。また、1 秒当たりの送受信側割り込み数 ( xmtin/srcvin/s) は、それぞれ着信または発信文字数以下になります。そうでない場合は、不良回線がないかどうかをチェックしてください。

使用例 3-14  端末動作をチェックする (sar -y)

次の例は、sar -y コマンドからの出力を示します。

$ sar -y

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)

sar -A コマンドを使用して、すべてのオプションからの統計情報を表示し、システム全体のパフォーマンスを表示します。

このコマンドを使用すると、全体像を把握できます。複数のタイムセグメントからのデータが表示される場合は、レポートに平均値が含まれます。