カテゴリ: Linux基礎 更新日: 2026/06/22

vmstatコマンドの使い方を完全ガイド!初心者でもわかるLinuxのメモリとCPU監視方法

vmstatコマンドでメモリとCPUの状況を確認する方法
vmstatコマンドでメモリとCPUの状況を確認する方法

先生と生徒の会話形式で理解しよう

生徒

「Linuxでパソコンの動きが重いとき、原因ってどうやって調べるんですか?」

先生

「その場合はvmstatコマンドを使うと、メモリやCPUの状態を一度に確認できます。」

生徒

「メモリとCPUって何が違うんですか?」

先生

「メモリは作業机、CPUは作業する人のようなものです。机が狭かったり、人が忙しすぎると処理が遅くなります。」

生徒

「なるほど!それを一緒に確認できるんですね。」

先生

「その通りです。順番に見ていきましょう。」

1. vmstatコマンドとは?

1. vmstatコマンドとは?
1. vmstatコマンドとは?

vmstatコマンドは、Linuxでメモリ使用状況、CPU使用率、スワップ、プロセスの状態などをまとめて確認できる便利なコマンドです。

Linuxのパフォーマンス監視やトラブルシューティングでよく使われ、「パソコンが重い」「処理が遅い」といった問題の原因を見つけるために役立ちます。

特に初心者の方は、「どこが悪いのか分からない」と感じることが多いですが、vmstatを使えば全体の状態を一目で把握できます。

2. vmstatコマンドの基本的な使い方

2. vmstatコマンドの基本的な使い方
2. vmstatコマンドの基本的な使い方

まずは最も基本的な使い方から見ていきましょう。


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 123456  23456 345678    0    0     1     2  100  200 10  5 80  5  0

このように、多くの情報が表示されますが、最初は難しく感じなくて大丈夫です。重要なポイントだけ押さえていきましょう。

3. 表示される項目の意味をやさしく解説

3. 表示される項目の意味をやさしく解説
3. 表示される項目の意味をやさしく解説

vmstatの出力には、いくつかの重要な項目があります。

  • r:実行待ちのプロセス数。多いとCPUが忙しい状態
  • free:空いているメモリの量
  • swpd:スワップ使用量
  • si / so:スワップの読み書き
  • us:ユーザー処理のCPU使用率
  • sy:システム処理のCPU使用率
  • id:CPUの待機時間

たとえば、freeが少ないとメモリ不足、rが多いとCPUが混雑している状態です。

4. リアルタイム監視する方法

4. リアルタイム監視する方法
4. リアルタイム監視する方法

vmstatは一定間隔で繰り返し表示することもできます。


vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 1  0      0 123456 23456 345678 0 0 1 2 100 200 10 5 80 5 0
 0  0      0 123000 23000 340000 0 0 0 1  90 180  8 4 85 3 0

このコマンドは1秒ごとに情報を更新します。

リアルタイムで変化を見ることで、「どのタイミングで負荷が上がるか」を確認できます。

5. 回数を指定して監視する方法

5. 回数を指定して監視する方法
5. 回数を指定して監視する方法

無限に表示されるのが困る場合は、回数を指定できます。


vmstat 2 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 1  0 0 123456 23456 345678 0 0 1 2 100 200 10 5 80 5 0
 0  0 0 123000 23000 340000 0 0 0 1  90 180  8 4 85 3 0

これは2秒間隔で5回だけ表示します。

ログとして確認したいときに便利です。

6. スワップの状態を見るポイント

6. スワップの状態を見るポイント
6. スワップの状態を見るポイント

スワップとは、メモリが足りないときにディスクを代わりに使う仕組みです。

机がいっぱいになったときに、床に資料を置くイメージです。


vmstat 1
r b swpd free buff cache si so
0 0 1024 1000 2000 3000 5 3

siやsoが増えている場合は、スワップが頻繁に使われている状態で、パソコンが遅くなる原因になります。

7. CPU使用率の見方

7. CPU使用率の見方
7. CPU使用率の見方

CPUの状態は、最後の列に表示されます。


vmstat
us sy id wa
20 10 60 10

それぞれの意味は次の通りです。

  • us:アプリの処理
  • sy:OSの処理
  • id:何もしていない時間
  • wa:待ち時間

idが少ないとCPUが忙しい状態です。

8. 他のコマンドとの違い

8. 他のコマンドとの違い
8. 他のコマンドとの違い

Linuxには他にも監視コマンドがあります。

  • top:リアルタイムで詳細表示
  • free:メモリだけ確認
  • htop:見やすい画面表示

vmstat軽くてシンプルなので、サーバー運用やトラブル時に特に重宝されます。

まとめ

まとめ
まとめ

本記事では、Linux環境でメモリ使用状況やCPU使用率、スワップの動作、プロセスの状態を一度に確認できる便利なコマンドであるvmstatコマンドについて、初心者の方でも理解しやすいように基礎から丁寧に解説しました。vmstatは、Linuxサーバー運用やパフォーマンス監視、システムトラブルの原因調査において非常に重要な役割を持つコマンドです。

特に、Linuxメモリ監視やCPU使用率確認、スワップ領域の使用状況を知ることは、システムが遅い、処理が重い、アプリケーションが固まるといった問題の原因を特定するうえで欠かせません。vmstatコマンドを使えば、これらの情報を一画面でまとめて確認できるため、初心者でも全体の状態を把握しやすくなります。

vmstatコマンドの基本的な使い方としては、単純にコマンドを実行するだけで現在の状態が表示されますが、秒数を指定することでリアルタイム監視が可能になります。例えば、1秒ごとに状態を確認することで、負荷がかかる瞬間や異常な挙動を見つけやすくなります。


vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 1  0      0 123456 23456 345678 0 0 1 2 100 200 10 5 80 5 0

また、回数を指定することで、一定回数だけデータを取得することも可能です。ログ取得や検証時にはこの方法が非常に役立ちます。


vmstat 2 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 1  0 0 123456 23456 345678 0 0 1 2 100 200 10 5 80 5 0

vmstatの出力結果で特に重要なのは、メモリの空き容量を示すfree、スワップ使用量を示すswpd、スワップの読み書きを示すsiとso、CPUの稼働状況を示すusやsy、idなどの項目です。これらを正しく理解することで、メモリ不足やCPU負荷の問題を素早く見つけることができます。

例えば、freeの値が極端に少ない場合はメモリ不足の可能性が高く、siやsoの値が増えている場合はスワップが頻繁に発生しているため、ディスクアクセスが増えて処理速度が低下している可能性があります。また、CPUのidの値が低い場合は、CPUが常に稼働している状態であり、負荷が高いと判断できます。

Linuxのパフォーマンスチューニングやサーバー監視を行ううえで、vmstatはtopやfreeなどのコマンドと組み合わせて使用することで、より詳細な分析が可能になります。軽量でシンプルなコマンドでありながら、システム全体の状態を把握できる点がvmstatの大きな特徴です。

日常的にvmstatコマンドを活用することで、Linuxシステムの状態を把握する力が身につき、トラブル発生時にも冷静に原因を切り分けることができるようになります。サーバー管理者やインフラエンジニアを目指す方にとって、必ず習得しておきたい基本コマンドの一つです。:contentReference[oaicite:0]{index=0}

先生と生徒の振り返り会話

生徒

「vmstatコマンドって、メモリとCPUの状態を一緒に見れるのが便利ですね。」

先生

「その通りです。Linuxのパフォーマンス監視では、メモリだけでなくCPUやスワップも同時に確認することが重要です。」

生徒

「freeが少ないとメモリ不足で、siやsoが増えるとスワップが使われているんですよね。」

先生

「よく理解できています。さらにCPUのidが低い場合は、CPUが忙しい状態ということも覚えておきましょう。」

生徒

「リアルタイムで監視するにはvmstat 1を使えばいいんですね。」

先生

「はい。1秒ごとの変化を見ることで、負荷がかかるタイミングを把握できます。トラブル調査にとても役立ちます。」

生徒

「これからLinuxサーバーを触るときは、まずvmstatで状態を確認してみます。」

先生

「それが良い習慣です。継続して使うことで、数値を見ただけで状態が分かるようになりますよ。」

カテゴリの一覧へ
新着記事
New1
圧縮・アーカイブ
bunzip2 -fオプションの使い方を完全ガイド!Linuxで圧縮ファイルを強制上書きする方法
New2
テキスト・データ処理
headコマンドとは?Linuxでファイルの先頭部分を表示する基本
New3
Linuxコマンドの基本
Linuxのパスの基本!絶対パスと相対パスの違いを初心者向けにやさしく解説
New4
ディスクとファイルシステム管理
mountコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイルシステムマウント方法
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
テキスト・データ処理
catコマンドとは?Linuxでファイル内容を表示・連結する基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門
No.4
Java&Spring記事人気No4
圧縮・アーカイブ
tarコマンドの使い方を完全ガイド!初心者でもわかるLinuxのアーカイブ作成と解凍の基本