vmstat:メモリ・CPU・I/Oの全体状況を同時に把握できるサマリーコマンド

目次
vmstatコマンドについての概要と詳細
vmstatとは
vmstat
(Virtual Memory Statistics)は、Linuxでシステム全体のリソース使用状況、特に仮想メモリ・CPU・プロセス・I/Oの統計を確認できるコマンドラインツールです。性能問題の調査や、システム状態の可視化に役立つ軽量なユーティリティです。
主な用途
- 仮想メモリの使用状況(swap in/outなど)を把握
- CPUのアイドル率や待ち時間を確認
- ブロックI/Oの動作を監視
- プロセスの状態(実行中・待機中など)を確認
- パフォーマンスのボトルネック診断
インストール方法
vmstat
は多くのLinuxディストリビューションで標準的にインストールされていますが、procps
またはprocps-ng
パッケージに含まれます。
Debian/Ubuntu系
$ sudo apt install procps
Fedora系
$ sudo dnf install procps-ng
基本的な使用例
$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 264492 27460 918432 0 0 0 2 101 243 1 1 98 0 0
各列の意味
- r: 実行待ちのプロセス数
- b: ブロック状態のプロセス数
- swpd: 使用中のスワップ(KB)
- free: 空きメモリ(KB)
- buff: バッファ使用量
- cache: ページキャッシュ使用量
- si / so: スワップイン/スワップアウト(KB/s)
- bi / bo: ブロックデバイスへの入力/出力(KB/s)
- in: 割り込み回数
- cs: コンテキストスイッチ数
- us / sy / id / wa / st: CPU使用率(ユーザ、システム、アイドル、I/O待ち、ステール)
定期的なモニタリング(秒指定)
$ vmstat 2
2秒ごとに出力を更新し続けます。Ctrl+Cで終了します。
回数指定付きの実行
$ vmstat 1 5
1秒ごとに5回出力されます。
-sオプション(詳細な統計の総計)
$ vmstat -s
累積されたシステム統計を数値形式で一覧表示します。
-dオプション(ディスクI/O統計)
$ vmstat -d
各ディスクの読み書き件数などを表示します。
-mオプション(スラブメモリ統計)
$ vmstat -m
カーネルのスラブメモリ使用状況を表示します。
vmstatと併用されるコマンド
- top / htop: プロセス単位での詳細な状態を確認
- iostat: ディスクI/Oの詳細な統計を取得
- sar: パフォーマンスデータの収集・履歴表示
まとめ
vmstat
は、軽量でありながら強力なシステム統計表示ツールです。仮想メモリ、CPU、I/Oの情報を瞬時に把握でき、パフォーマンスの問題解決における初期診断に適しています。定期的なモニタリングやスクリプトとの連携にも向いており、サーバ管理者やLinuxユーザーにとって欠かせないユーティリティです。