JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 でのシステム情報、プロセス、およびパフォーマンスの管理     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

1.  システム情報の管理 (タスク)

2.  システムプロセスの管理 (タスク)

3.  システムパフォーマンスの監視 (タスク)

システムパフォーマンスタスクに関する情報の参照箇所

システムパフォーマンスおよびシステムリソース

プロセスとシステムのパフォーマンス

システムパフォーマンスの監視

監視ツール

システムパフォーマンス情報の表示

システムパフォーマンス情報の表示 (タスクマップ)

仮想メモリーの統計情報の表示 (vmstat)

仮想メモリーの統計情報を表示する方法 (vmstat)

システムイベント情報を表示する方法 (vmstat -s)

スワップの統計情報を表示する方法 (vmstat -S)

各デバイス当たりの割り込み数を表示する方法 (vmstat -i)

ディスク使用状況の表示 (iostat)

ディスクの使用状況を表示する方法 (iostat)

拡張ディスク統計情報を表示する方法 (iostat -xtc)

ディスク容量統計情報の表示 (df)

ディスク容量情報を表示する方法 (df -k)

システム動作の監視

システム動作の監視 (タスクマップ)

システム動作の監視 (sar)

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

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

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

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

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

カーネルメモリーの割り当て (KMA) のチェック

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

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

ページイン動作をチェックする方法 (sar -p)

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

未使用のメモリーをチェックする方法 (sar -r)

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

システムテーブルのステータスをチェックする方法 (sar -v)

スワップ動作をチェックする方法 (sar -w)

端末動作をチェックする方法 (sar -y)

システム全体のパフォーマンスをチェックする方法 (sar -A)

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

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

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

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

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

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

4.  システムタスクのスケジュール設定 (タスク)

5.  システムコンソール、端末デバイス、および電源サービスの管理 (タスク)

索引

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

システム動作の監視

このセクションでは、システム動作の監視のタスクについて説明します。

システム動作の監視 (タスクマップ)

タスク
説明
参照先
ファイルアクセスをチェックします。
sar コマンドと -a オプションを使用し、ファイルアクセス操作ステータスを表示します。
バッファー動作をチェックします。
sar コマンドと -b オプションを使用し、バッファー動作の統計情報を表示します。
システムコールの統計情報をチェックします。
sar コマンドと -c オプションを使用し、システムコールの統計情報を表示します。
ディスク動作をチェックします。
sar コマンドと -d オプションを使用し、ディスク動作をチェックします。
ページアウトとメモリーをチェックします。
sar コマンドと -g オプションを使用し、ページアウトとメモリー解放動作を表示します。
カーネルメモリーの割り当てをチェックします。
カーネルメモリーの割り当て (KMA) では、カーネルサブシステムが必要に応じてメモリーを割り当てたり解放したりします。sar コマンドと -k オプションを使用し、KMA をチェックします。
プロセス間通信をチェックします。
sar コマンドと -m オプションを使用し、プロセス間通信の動作を報告します。
ページイン動作をチェックします。
sar コマンドと -p オプションを使用し、ページイン動作を報告します。
待ち行列動作をチェックします。
sar コマンドと -q オプションを使用し、以下をチェックします。
  • 待ち行列に要求が入っている間の平均待ち行列の長さ

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

未使用メモリーをチェックします。
sar コマンドと -r オプションを使用し、現在使用されているメモリーページ数とスワップファイルのディスクブロック数を表示します。
CPU の使用率をチェックします。
sar コマンドと -u オプションを使用し、CPU 使用率を表示します。
システムテーブルのステータスをチェックします。

以下の sar コマンドと -v オプションを使用し、システムテーブルのステータスをチェックします。

  • プロセス
  • i ノード

  • ファイル

  • 共有メモリーレコード

スワップ動作をチェックします。
sar コマンドと -w オプションを使用し、スワップ動作をチェックします。
端末動作をチェックします。
sar コマンドと -y オプションを使用し、端末デバイスの動作を監視します。
システム全体のパフォーマンスをチェックします。
sar -A コマンドを使用し、すべてのオプションを指定した場合と同じように、システム全体のパフォーマンスを示す統計情報を表示します。
データの自動収集を設定します。

システムでデータを自動的に収集するよう設定し、 sar コマンドを実行するには、以下を実行します。

  • svcadm enable system/sar:default コマンドを実行します
  • /var/spool/cron/crontabs/sys ファイルを編集します

システム動作の監視 (sar)

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

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

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

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

例 3-6 バッファー動作をチェックする (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

次の表は、-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)

例 3-7 システムコールの統計情報をチェックする (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

次の表は、-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 秒当たりの文字 (バイト) 数

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

例 3-8 ディスク動作をチェックする

次の例は、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

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

フィールド名
説明
デバイス
監視中のディスクデバイス名
%busy
デバイスが転送要求のサービスでビジーであった時間
avque
デバイスが転送要求のサービスでビジーであった時間の間の平均要求数
r+w/s
デバイスへの 1 秒当たりの読み取り転送数と書き込み転送数
blks/s
デバイスに転送される 1 秒当たりの 512 バイトブロック数
avwait
待ち行列内の転送要求の平均アイドル時間 (ミリ秒単位)。これは、待ち行列が占有されている場合のみ計測される
avserv
デバイスが 1 転送要求の処理に要する平均時間 (ミリ秒単位)。ディスクの場合は、この値にシークタイム、回転待ち時間、およびデータ転送時間が含まれる

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

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

例 3-9 ページアウトとメモリーをチェックする (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

次の表に -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 を使用すると、カーネルサブシステムが必要に応じてメモリーを割り当てたり、解放したりできます。

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

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

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

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

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

例 3-10 カーネルメモリーの割り当てをチェックする(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

次の表に -k オプションからの出力について説明します。

フィールド名
説明
sml_mem
KMA が小メモリー要求プール内で使用できるメモリーのバイト数 (このプールでは、小要求は 256 バイト未満)
alloc
KMA が小メモリー要求プールから小メモリー要求に割り当てたメモリーのバイト数
fail
失敗した小メモリー要求数
lg_mem
KMA が大メモリー要求プール内で使用できるメモリーのバイト数 (このプールでは、 大要求は 512 バイトから 4K バイトまで)
alloc
KMA が大メモリー要求プールから大メモリー要求に割り当てたメモリーのバイト数
fail
失敗した大メモリー要求数
ovsz_alloc
サイズ超過要求 (4K バイトを超える要求) に割り当てられたメモリーの容量。これらの要求はページアロケータによって満たされる。このため、プールはない
fail
失敗したサイズ超過メモリー要求数

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

例 3-11 プロセス間通信をチェックする (sar -m)

次の例は、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)

例 3-12 ページイン動作をチェックする (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

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

フィールド名
説明
atch/s
現在メモリーに入っているページを回収して満たされる 1 秒当たりのページフォルト数 (1 秒当たりの付加数)。この例には、空きリストから無効なページを回収し、別のプロセスに現在使用中のテキストページを共有する処理が含まれます。たとえば、複数のプロセスが同じプログラムテキストにアクセスしている場合などです。
pgin/s
ファイルシステムがページイン要求を受信する 1 秒当たりの回数。
ppgin/s
ページインされる 1 秒当たりのページ数。ソフトロック要求 (slock/s を参照) などの 1 つのページイン要求や、大型ブロックサイズでは、複数のページがページインされることがあります。
pflt/s
保護エラーによるページフォルト数。保護フォルトの例には、ページへの不正なアクセスや、「書き込み時コピー」などがあります。通常、この数値は主に「書き込み時コピー」からなっています。
vflt/s
1 秒当たりのアドレス変換ページフォルト数。このフォルトは、有効性フォルトと呼ばれます。有効性フォルトは、仮想アドレスに有効なプロセステーブルエントリが存在しないときに発生します。
slock/s
物理入出力を要求するソフトウェアロック要求によって発生する 1 秒当たりのフォルト数。ソフトロック要求の発生例には、ディスクからメモリーへのデータ転送などがあります。システムはデータを受信するページをロックするので、別のプロセスはそれを回収して使用できません。

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

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

次の例は、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)

例 3-14 未使用のメモリーをチェックする (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)

例 3-15 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)

例 3-16 システムテーブルのステータスをチェックする (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  

次の表に -v オプションからの出力について説明します。

フィールド名
説明
proc-sz
現在カーネル内で使用されているか割り当てられている、プロセスエントリ (proc 構造体) の数。
inod-sz
メモリー内の合計 i ノード数とカーネル内で割り当て済みの最大 i ノード数の比。これは厳密な上限ではありません。ここからオーバーフローすることもあります。
file-sz
開いているシステムファイルテーブルのサイズ。ファイルテーブルには領域が動的に割り当てられるので、sz0 として表示されます。
ov
各テーブルのサンプルポイント間で発生しているオーバーフロー。
lock-sz
現在カーネル内で使用されているか割り当てられている、共有メモリーレコードテーブルのエントリ数。共有メモリーレコードテーブルには領域が動的に割り当てられるので、sz0 として表示されます。

スワップ動作をチェックする方法 (sar -w)

例 3-17 スワップ動作をチェックする (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)

例 3-18 端末動作をチェックする (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)

システム動作データを自動的に収集するには、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 コマンドのオプションとその動作を示します。

表 3-5 sar コマンドのオプション

オプション
アクション
-a
ファイルアクセス操作をチェックする
-b
バッファー動作をチェックする
-c
システムコールをチェックする
-d
各ブロックデバイスの動作をチェックする
-g
ページアウトとメモリーの解放をチェックする
-k
カーネルメモリーの割り当てをチェックする
-m
プロセス間通信をチェックする
-nv
システムテーブルのステータスをチェックする
-p
スワップとディスパッチ動作をチェックする
-q
待ち行列動作をチェックする
-r
未使用メモリーをチェックする
-u
CPU の使用率をチェックする
-w
ボリュームのスワッピングと切り替えをチェックする
-y
端末動作をチェックする
-A
システム全体のパフォーマンスをレポートする (すべてのオプションを入力した場合と同じです)

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

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

  1. root 役割になります。

    『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。

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