vmstat コマンドは、カーネル・スレッド、仮想メモリー、ディスク、トラップ、 CPU のアクティビティーに関する統計情報を報告します。 vmstat コマンドによって生成される報告は、システム・アクティビティーの負荷のバランスを取るのに使用することができます。これらのシステム全体の統計情報 (すべてのプロセッサー間) は、パーセントで表される平均値または合計として計算されます。
vmstat コマンドをフラグなしで呼び出すと、システム始動後の仮想メモリー・アクティビティーの要約が報告されます。 -f フラグを指定した場合には、vmstat コマンドはシステム始動後の fork の数を報告します。 PhysicalVolume パラメーターには物理ボリューム名を指定します。
Interval パラメーターは、各レポートの間隔を秒で指定します。最初のレポートには、システムの始動後の経過時間に関する統計情報が含まれます。後続以降のレポートには、前のレポート以降のインターバルの間に集計された統計情報が含まれます。 Interval パラメーターを指定しなかった場合、vmstat コマンドは報告を 1 回だけ作成して終了します。 Count パラメーターは、Interval パラメーターと一緒に指定する必要があります。 Count パラメーターは、作成する報告の回数とその間隔を指定するものです。 Count パラメーターを指定せずに Interval パラメーターを指定すると、レポートは連続して生成されます。 Count パラメーターに値 0 を指定することはできません。
NAS Gateway 500 System Software では、アイドル状態の CPU のうち、未解決の入出力が開始された CPU のみを wio とマークするように変更されました。この方法では、ごく一部のスレッドが入出力を実行しているだけで、それ以外についてはシステムはアイドル状態という場合に、wio 時間がずっと少なく報告されることになります。例えば、CPU が 4 個のシステムで、1 個のスレッドが入出力を実行している場合、wio 時間は最大 25% になります。 CPU が 12 個のシステムで、1 個のスレッドが入出力を実行している場合なら、wio 時間は最大 8% として報告されます。 NFS クライアントの読み取り/書き込みは VMM によって実行されますが、現在では VMM による入出力完了待ちに biod が費やした時間が入出力待ち時間として報告されるようになりました。
カーネルは、カーネル・スレッド、ページング、および、割り込みのアクティビティーに関する統計情報を保守します。 vmstat コマンドは、perfstat カーネル・エクステンションを使用して、これにアクセスします。ディスク入出力統計情報は、デバイス・ドライバーが保守します。ディスクの平均転送率は、活動時間と転送数の情報から求められます。活動時間 (パーセント) は、報告中にドライブがビジーであった時間から求められます。
下記の例は、vmstat コマンドによって生成される報告の例です。列見出しとその説明についても示します。
kthr: サンプリング間隔中 1 秒当たりのカーネル・スレッドの状態の変化。
r | 実行キューに入れられたカーネル・スレッド数。 |
b | 待機キューに入れられたカーネル・スレッド数 (リソースを待機中、入出力を待機中)。 |
Memory: 仮想メモリーと実メモリーの使用状況に関する情報。仮想ページは、これまでにアクセスされたことがあれば、アクティブであると見なされます。 1 ページは 4096 バイトです。
avm | アクティブな仮想ページ。 |
fre | フリー・リストのサイズ。
注: ほとんどの実メモリーはファイルシステムのデータのキャッシュ用に使われます。したがって、フリー・リストのサイズが小さいままであっても、異常ではありません。 |
Page: ページ・フォールトとページング・アクティビティーに関する情報。この情報は、指定した間隔で平均をとり、1 秒当たりの単位数として表示されます。
re | ページャーの入出力リスト。 |
pi | ページング・スペースからページインされたページ数。 |
po | ページング・スペースにページアウトされたページ数。 |
fr | 空きのページ数。 |
sr | ページ置換アルゴリズムによってスキャンされたページ数。 |
cy | ページ置換アルゴリズムによるクロック・サイクル数。 |
Faults : サンプリング間隔中 1 秒当たりのトラップおよび割り込み率の平均値。
in | デバイス割り込み数。 |
sy | システム・コール。 |
cs | カーネル・スレッドのコンテキスト・スイッチ数。 |
CPU: CPU 時間の使用の内訳。
us | ユーザー時間。 |
sy | システム時間。 |
id | CPU アイドル時間。 |
wa | システムに未解決のディスク/NFS 入出力要求があった CPU アイドル時間。 |
Disk: サンプル・インターバルにおける指定した物理ボリュームへの転送数 (毎秒) を示します。 PhysicalVolume パラメーターを使って、4 つまでの名前を指定することができます。転送統計情報は、指定した各ドライブについて、指定した順番で報告されます。この値は、物理デバイスに対する要求を表します。読み取られた、または書き込まれたデータの数は表しません。複数の論理要求を 1 つの物理要求にまとめることができます。
-I フラグを指定すると、I/O 指向のビューでは、下記の列の変更が表示されます。
kthr | 列 p は、列 r および b の隣にも表示されます。
|
page | 新規の列 fi および fo は、re および cy 列の代わりに表示されます。
|
注: -f フラグと -s フラグを同時にコマンド行に指定することはできますが、この場合、最初のフラグのみをシステムが受け入れ、2 番目のフラグは無効になります。
vmstat
vmstat 2 5
最初の要約には、ブートしてからの時間の統計情報が入ります。
vmstat scdisk13 scdisk14
vmstat -f
vmstat -s
vmstat -t
vmstat -I
vmstat -vs