【ブイエムスタット】

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

💡 サーバーのバイタルサインを一目で把握するモニター
📌 このページのポイント
vmstat が表示するシステム情報 CPU us: ユーザー sy: システム id: アイドル wa: I/O待ち メモリ free: 空きメモリ buff: バッファ cache: キャッシュ スワップ si: スワップイン so: スワップアウト ※大きいとメモリ不足 I/O bi: ブロック読込 bo: ブロック書込 ボトルネック診断チャート si/soが大きい→メモリ不足 us+syが高い→CPU不足 waが高い→ディスク遅延 vmstat 1 で1秒間隔のリアルタイム監視(最初の1行は平均値なので無視)
vmstat でシステムリソースの全体像を把握するイメージ
ひよこ ひよこ

サーバーが重いんだけど、原因ってどうやって調べるの?

ペンギン先生 ペンギン先生

まずはvmstatを実行してみよう。CPU、メモリ、ディスクI/O、スワップの状態が一目で分かるよ。お医者さんが最初にバイタル(体温・血圧・脈拍)を確認するようなものだね。

ひよこ ひよこ

出力がたくさんあって何を見ればいいかわからない…

ペンギン先生 ペンギン先生

まずsiとso(スワップイン・アウト)を見て。これが大きければメモリ不足のサインだよ。次にus(ユーザーCPU)とsy(システムCPU)。合計が常に90%超えならCPUが足りない。wa(I/O待ち)が高ければディスクがボトルネックだね。

ひよこ ひよこ

vmstat 1って書くと何が変わるの?

ペンギン先生 ペンギン先生

1秒おきに最新の統計を表示し続けるんだ。最初の1行は起動以降の平均値だから無視して、2行目以降のリアルタイムデータを見るのがポイントだよ。vmstat 1 10とすれば10回分だけ表示して止まる。

ひよこ ひよこ

topコマンドとはどう使い分けるの?

ペンギン先生 ペンギン先生

topプロセスごとの詳細を見るのに向いていて、vmstatはシステム全体の概況を素早く把握するのに向いているよ。障害対応では「vmstatで全体を俯瞰→topで犯人のプロセスを特定」という流れが定番だね。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「vmstat」って出てきたら「システム全体のリソース状況を一目で確認するコマンド」と思えればだいたいOK!
📖 おまけ:英語の意味
「virtual memory statistics」 = 仮想メモリ統計
💬 仮想メモリだけでなくCPUやI/Oの統計も見られる万能コマンドだよ
← 用語集にもどる