書式
vmstat [-a] [-n] [delay [ count]]vmstat [-f] [-s] [-m]
vmstat [-S unit]
vmstat [-d]
vmstat [-p disk partition]
vmstat [-V]
説明
vmstat はプロセス・メモリ・ページング・ブロック IO・トラップ・CPU 稼働状況 などに関する情報を報告する。最初に作成される報告では、最後に再起動して以降の平均が与えられる。 それ以降の報告では、長さ delay のサンプリング期間に関する情報が与えられる。 プロセスとメモリに関する報告は、いずれも報告の瞬間のものである。
オプション
- -a
- 2.5.41 以降のカーネルで指定すると、 アクティブ/非アクティブなメモリの表示する。
- -f
- ブート後の fork 数を表示する。 これには fork, vfork, clone システムコールが含まれ、 生成されたタスク数と等しい。 各プロセスは、スレッドの使用数によって、1 つ以上のタスクで表現される。 これは繰り返し表示されない。
- -m
- slabinfo を表示する。
- -n
- ヘッダの表示が一度だけになる。 デフォルトでは、一定の周期でヘッダが繰り返し表示される。
- -s
- 種々のイベントカウンタとメモリの統計の表を表示する。 この表示は繰り返し表示されない。
- delay
- 更新の間隔。単位は秒。 delay が指定されなければ、最後の起動以降の平均値が 1 回だけ報告される。
- count
- 更新の回数。 count が指定されず、 delay が指定されている場合は、 count のデフォルトは無限回になる。
- -d
- ディスクの統計を表示する (2.5.70 以降が必要)。
- -p
- このオプションの後に指定したパーティション名に関する 詳細な統計を表示する (2.5.70 以降が必要)。
- -S
- このオプションの後に k, K, m, M を付けると、 出力を 1000, 1024, 1000000, 1048576 バイト単位に切り替える。
- -V
- バージョン情報を表示する。
VM モードにおけるフィールドの説明
Procs
b: 割り込み不可能なスリープ状態にあるプロセス数
Memory
swpd: 仮想メモリの量。 free: 空きメモリの量。 buff: バッファに用いられているメモリの量。 cache: キャッシュに用いられているメモリの量。 inact: アクティブでないメモリの量 (-a オプション)。 active: アクティブなメモリの量 (-a オプション)。
Swap
si: ディスクからスワップインされているメモリの量 (/s)。 so: ディスクにスワップしているメモリの量 (/s)。
IO
bi: ブロックデバイスから受け取ったブロック (blocks/s)。 bo: ブロックデバイスに送られたブロック (blocks/s)。
System
in: 一秒あたりの割り込み回数。クロック割り込みも含む。 cs: 一秒あたりのコンテキストスイッチの回数。
CPU
これらは CPU の総時間に対するパーセンテージである。us: カーネルコード以外の実行に使用した時間 (ユーザー時間、nice 時間を含む)。 sy: カーネルコードの実行に使用した時間 (システム時間)。 id: アイドル時間。Linux 2.5.41 以前では、IO 待ち時間を含んでいる。 wa: IO 待ち時間。Linux 2.5.41 以前では、0 と表示される。
ディスクモードにおけるフィールドの説明
Reads
total: 成功した読み込みの総数 merged: グループ化された (結果として 1 つの I/O となった) 読み込みの数 sectors: 読み込みに成功したセクタ数 ms: 読み込みに使用した時間 (ミリ秒)
Writes
total: 成功した書き出しの総数 merged: グループ化された (結果として 1 つの I/O となった) 書き出しの数 sectors: 書き出しに成功したセクタ数 ms: 書き出しに使用した時間 (ミリ秒)
IO
cur: 実行中の I/O s: I/O に使用した時間 (秒)
ディスクパーティションモードにおけるフィールドの説明
reads: このパーティションに発行された読み込みの総数 read sectors: このパーティションから読み込まれた総セクタ数 writes : このパーティションに発行された書き出しの総数 requested writes: このパーティションへの書き出し要求の総数
SLAB モードにおけるフィールドの説明
cache: キャッシュ名 num: 現在アクティブなオブジェクトの数 total: 利用可能なオブジェクトの総数 size: 各オブジェクトのサイズ pages: 少なくとも 1 つのアクティブなオブジェクトがあるページの数 totpages: 確保 (allocate) された総ページ数 pslab: slab 当りのページ数
注意
vmstat には特別な権限は必要ない。これらの報告は、システムのボトルネックを突き止める作業の 手助けをするものである。 Linux の vmstat は、自分自身は実行プロセスとしての勘定に入れない。
Linux のブロックは、今のところ全て 1024 バイトである。 古いカーネルはブロックが 512・2048・4096 バイトであると表示するかもしれない。
procps 3.1.9 以降では、vmstat はデフォルトモードにおいて 単位 (k, K, m, M) をユーザーに選択させる。 デフォルトは K (1024 バイト) である。
vmstat は slabinfo 1.1 を使用する。 間違えていたら修正して欲しい。
ファイル
/proc/meminfo /proc/stat /proc/*/stat
バグ
デバイスごとのブロック io を表にしない。 またシステムコールの回数を数えない。著者
Henry Ware <[email protected]> と Fabian Frederick <[email protected]> (diskstat, slab, partitions...) によって書かれた。