【ブイエムスタット】

vmstat(仮想メモリ統計) とは?

最終更新:
💡 システム全体の統計を、期間と変化で読み取る

Linuxでプロセス、メモリ、スワップ、ブロックI/O、CPUなどのシステム統計を表示するコマンド。一定間隔で変化を観察し、性能調査の手がかりを得る。値の意味や集計期間を確認して使う。

📌 このページのポイント
vmstat:統計をまとめて見る CPUの時間配分 us / sy / id / wa 割合を見る メモリ free / buff / cache その時点の量 スワップ si / so:毎秒の量 swpd:使用量 ブロックI/O bi / bo:毎秒の量 ディスク応答時間とは別 $ vmstat 1 10 期間・単位・変化を合わせて読む
Linuxのvmstatの主な欄。初回の平均と区間統計、時点の値を区別し、値だけで原因を確定しない。
ひよこ ひよこ
サーバーが重いときに使う?
ペンギン先生 ペンギン先生
全体の様子を調べる手がかりになるよ。CPUの時間配分、実行待ちのプロセス、メモリ、スワップ、I/Oなどを並べて見られる。ただしどのアプリが何をしているかまで、これだけで全部分かるわけではないんだ。
ひよこ ひよこ
vmstat 1とvmstat 1 10は?
ペンギン先生 ペンギン先生
1は更新間隔の秒数で、回数を省くと表示を続けるよ。10を付けると回数を指定できる。Linuxのこの実装では、-yで起動以来の統計を含む最初の表示を省くこともできるんだ。
ひよこ ひよこ
最初の行は全部、起動以来の平均?
ペンギン先生 ペンギン先生
CPUやI/Oなどの初回統計は起動以来の平均、後続は指定間隔の統計だよ。一方、プロセスやメモリの欄はその時点の値。最初の行をすべて同じ平均値だと扱わず、列と期間を確かめるんだ。
ひよこ ひよこ
siやsoが高ければメモリ不足?
ペンギン先生 ペンギン先生
siとsoは毎秒のスワップの入出力量で、メモリの調査の手がかりだよ。swpdは使っているスワップ量なので別の意味。値の継続や負荷の変化、他のメモリ情報と合わせ、1列だけで不足を確定しないんだ。
ひよこ ひよこ
waが高ければディスクが原因?
ペンギン先生 ペンギン先生
waはI/O待ちに関するCPU時間の割合で、ディスクの応答時間そのものではないよ。カーネルのiowait集計にも制約がある。CPUのusやsyが高い場合も含め、他の統計やプロセスの動きと照合して原因を絞るんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「vmstat」って出てきたら「システム全体の統計をまとめて見るコマンド」と思えばだいたいOK!
📖 おまけ:英語の意味
「virtual memory statistics」 = 仮想メモリ統計
💬 名前は仮想メモリの統計だよ。Linuxのvmstatでは、メモリに加えてCPUやI/Oなどの情報も見るんだ。

参考資料

← 用語集にもどる