VMSTAT(8)

名称
vmstat - 仮想メモリの統計情報を報告する

書式
vmstat [-afimsz] [-c count] [-M core [-N system]] [-w wait] [-n devs] [ -p type,if,pass] [disks]

解説
vmstat ユーティリティは、プロセス、仮想メモリ、ディスク、トラップ、CPU の活動状況 などについてカーネルが持っている統計情報を報告します。

-M オプションが指定されていない場合には、 現在実行中のカーネルから sysctl(3) インタフェース経由で情報を取得します。 そうでなければ、指定されたカーネルイメージ (またはデフォルトのイメージ) 中の名前リストを使用して、指定されたコアファイルから情報を読み込みます。

オプション:

-a  -i と組み合わせて使われた場合には、発生していない割り込みの統計を含めます。

-c  表示を count 回繰り返します。 最初の表示はリブート時からの統計で、 その後の表示は直前の表示から現在までの間の統計です。 繰り返し回数 count を指定せず、 -w を指定すると、デフォルトは無限になります。 そうでない場合、デフォルトは 1 になります。

-f  システムが起動してからの fork(2), vfork(2), rfork(2) システムコールの回数と、それぞれのシステムコールで使われた 仮想メモリのページ数を表示します。

-i  システムが起動してから各デバイスで起こった割り込みの回数を表示します。

-M  指定された core から、名前リストに関連する値を取り出します。

-N  -M も指定されていれば、名前のリストを取り出す際に、デフォルトの代わりに指定された system を使います。 デフォルトはシステムがブートに使用したカーネルイメージです。

-m  カーネルの動的メモリの利用状況について、確保したサイズ、利用のタイプの 順で一覧にして表示します。

-n  表示する最大ディスク数を、デフォルトの 2 から変更します。

-p  どのタイプのデバイスを表示するのかを指定します。 3 種類のカテゴリのデバイスがあります:

    デバイスタイプ:
        da  ダイレクトアクセス
        sa  シーケンシャルアクセスデバイス
        printer
            プリンタ
        proc
            プロセッサデバイス
        worm
            ライトワンスリードマルチプルデバイス
        cd  CD デバイス
        scanner
            スキャナデバイス
        optical
            オプティカルメモリデバイス
        changer
            メディアチェンジャデバイス
        comm
            コミュニケーションデバイス
        array
            ストレージアレイデバイス
        enclosure
            エンクロージャサービスデバイス
        floppy
            フロッピデバイス

    インタフェース:
        IDE Integrated Drive Electronics デバイス
        SCSI
            Small Computer System Interface デバイス
        other
            その他のデバイス

    パススルー:
        pass
            パススルーデバイス

    ユーザは少なくとも 1 つのデバイスタイプを指定する必要があり、 各カテゴリにおいては最大 1 つのデバイスタイプを指定可能です。 1 つのデバイスタイプ文に複数のデバイスタイプを指定するには、 コンマで区切ります。

    コマンドライン上では、 -p 引数をいくつ指定してもかまいません。 -p 引数はすべて OR がとられ、 システム内の全デバイスが対象となる比較式が形成されます。 いずれかの -p 引数に完全に合致するデバイスは、 vmstat の出力に含まれます。 ただし、3 デバイスもしくはユーザが指定した最大デバイス数の範囲に限られます。

-s  sum 構造体の内容を表示し、システムが起動してから起こったいくつかの 種類のページング関連のイベントの合計を報告します。

-w  各表示の間で、 wait 秒停止します。 停止間隔 wait を指定していなければ、デフォルトは 1 秒になります。

-z  ゾーン毎に、カーネルゾーンアロケータが使用するメモリを報告します。 表示される情報は、 vm.zone sysctl 変数で返されるものと同じです。

デフォルトでは、 vmstat は以下の情報を表示します。

procs
    以下の各状態でのプロセス数に関する情報

    r   実行待ち行列にある状態
    b   リソース確保 (i/o やページングなど) のためにブロックされている状態
    w   実行可能または短期間のスリープ中 (20 秒以内) であるが、スワップされている状態

memory
    仮想メモリと実メモリの使用状況に関する情報を表示します。 実行中または最近 20 秒間で実行されたプロセスに属する仮想ページ (1024 バイト単位で表示される) は、アクティブであるとみなします。

    avm アクティブな仮想ページ
    fre フリーリストのサイズ

page
    ページフォルトとページングの活動状況に関する情報を表示します。 これらは 5 秒間の平均として、秒単位で表示します。

    flt ページフォルトの総数
    re  要求されたページ数 (参照ビットをシミュレート)
    pi  ページインされたページ数
    po  ページアウトされたページ数
    fr  秒単位の解放されたページ数
    sr  クロックアルゴリズムによってスキャンされたページ数 (秒単位)

disks
    秒単位のディスク操作に関する情報 (このフィールドはシステム依存です)。 通常、ページングは使用可能なドライブにまたがって分割されます。 このフィールドのヘッダは、ディスク名の最初の 2 文字とユニット番号です。 システムが 3 つ以上のディスクドライブを扱うように設定されている場合、 vmstat は最初の 3 つのドライブしか表示しません。 ただし、ユーザが -n 引数を指定して表示するデバイス数を増した場合は別です。 この場合、表示が 80 桁を越えてしまうかもしれません。 vmstat で特定のドライブを表示するには、コマンド行でドライブ名を指定します。 デフォルトでは、 vmstat ユーティリティはディスクを最初に、 それからシステム内の他の様々なランダムデバイスを合計 3 つまで、 もしあれば表示します。 デバイスをコマンドラインで指定した場合、 もしくはデバイスタイプが合致するパターンが指定された場合 (前述)、 vmstat は指定されたデバイスもしくはパターンに合致するデバイスのみを表示し、 システム内の他のデバイスをランダムに選択するということはありません。

faults
    最近 5 秒間のトラップ/割り込みの平均レート (秒単位)。

    in  デバイス割り込み (クロック割り込みを含む) の回数
    sy  システムコールの回数
    cs  cpu のコンテキストスイッチの回数

cpu CPU 使用時間の内訳 (%)

    us  通常およびそれより低い優先度のプロセスのユーザ時間
    sy  システム時間
    id  CPU アイドル時間

使用例
コマンド:
    vmstat -w 5
は、システムがどのように動作しているかを 5 秒おきに表示します。 5 秒おきにサンプリングされている統計情報があるため、 この間隔で表示するのがちょうどよいです。 その他の統計情報は 1 秒毎に変化します。 しばらく出力を続ければ、どれが毎秒計算し直されているかがわかるでしょう。

コマンド:
    vmstat -p da -p cd -w 1
は、ダイレクトアクセスデバイスもしくは CDROM デバイスから最初の 3 つの デバイスを選択し、 他のシステム統計情報と同様に、 毎秒これらのデバイスの統計情報を表示します。

関連ファイル
/boot/kernel/kernel
    デフォルトのカーネル名前リスト
/dev/kmem
    デフォルトのメモリファイル

関連項目
fstat(1), netstat(1), nfsstat(1), ps(1), systat(1), iostat(8), pstat(8), sysctl(8)

の ``Interpreting system activity'' で始まるセクション

バグ
-c と -w オプションは、デフォルトの出力を行うときにのみ有効です。