blog

Linux vmstat: 仮想メモリの統計情報を報告するツール

コンピュータが動作するためには、RAMと呼ばれるメモリが必要であることはよく知られています。RAMとは、コンピュータのマザーボードに差し込まれている物理ストレージのことです。仮想メモリのアクティビティ...

Jul 10, 2025 · 4 min. read
シェア

RAMとは、コンピュータのマザーボードに差し込まれている物理的な記憶装置のことです。RAMは、ブラウザやワープロなどのプログラムをロードするために使用されます。

RAMが2GBあるとします。オペレーティングシステムを実行しているとき、利用可能なメモリは1.5GBしかないかもしれません。メモリがいっぱいになると、それ以上プログラムをロードできなくなるかもしれません。わかりやすく言うと、コンピューターは「申し訳ありませんが、これ以上プログラムを実行することはできません。

[]

この問題を解決するために、Linuxを含むさまざまなオペレーティング・システムでは、仮想メモリと呼ばれる方法が使われています。この方法は、最近使用されていないプログラムのメモリ領域を検索し、コンピュータのハードドライブにコピーします。これにより、残りのメモリ領域の一部が解放され、より多くのプログラムを実行できるようになります。

仮想メモリのアクティビティを監視するには、vmstatツールを使用します。

vmstatとは何ですか?

vmstatは、仮想メモリの統計情報をレポートするツールです。システムメモリ、スワップ、リアルタイムプロセッサの使用率が含まれます。

vmstatの実行方法

mpstatと同様、vmstat も sysstat パッケージに含まれています。まだ持っていない場合は、sysstatパッケージをインストールしてください。

vmstatを実行するには、コンソールでvmstatと入力するだけです。パラメータなしでvmstatを実行すると、vmstatのデフォルトの結果が表示されます。

vmstatが提供する情報を理解する方法を見てみましょう:

プロックス

r列はCPUへのアクセスを待っているプロセスの数を表し、b列はスリープしているプロセスの数を表します。また、b列はスリープしているプロセスの数を表します。これらの列の下にはそれぞれの値が表示されます。上のスクリーンショットから、CPUへのアクセスを待っているプロセスが2つ、スリープしているプロセスが0つであることがわかります。

メモリー

memoryには、swpd、free、buff、cacheというカラムがあります。swpd列は、スワップファイルまたはディスクにスワップされたメモリ量を示し、free列は、未割り当ての空きメモリを示し、buff列は、使用中のメモリを示し、cache列は、何らかのアプリケーションに必要な場合、スワップファイルまたはディスクにスワップできるメモリ量を示します。

スワップ

swapは、swapシステムからどれだけのメモリが送信またはフェッチされたかを示します。si列は、1秒あたりにswapから実メモリにどれだけのメモリが移動されたかを示し、so列は、1秒あたりに実メモリからswapにどれだけのメモリが移動されたかを示します。

入出力

ioは、ブロックの読み取りと書き込みに基づく1秒あたりの入力と出力のアクティビティを示しています。bi列は受信したブロックの数を示し、bo列は送信したブロックの数を示しています。

システム

system列は、1秒あたりのシステム操作の回数を示します。in列は、1秒あたりのシステム割り込みの回数を示します。cs列は、タスクを処理するためにシステムが行うコンテキストスイッチの回数を示します。

中央演算処理装置

CPUは、CPUリソースがどのように使用されているかを示します。us列は、プロセッサが非カーネルプログラムで消費している時間を示します。sy列は、プロセッサがカーネル関連のタスクで消費している時間を示します。id列は、プロセッサがアイドルである時間を示します。wa列は、プロセッサがタスク処理を続行するためにIO操作が完了するのを待っている時間を示します。

間隔をあけてvmstatを実行

vmstat***を統計ツールとして使用するには、インターバルを使用します。システムの状態を断続的に取得することができます。vmstatを5秒間隔で実行するとします。コンソールにvmstat 5と入力するだけです。

コマンドは、Ctrl-Cを押して終了させるまで、5秒ごとに実行されます。2番目のパラメータを使用して、vmstatの実行回数を制御することもできます。

上記のコマンドは、vmstatを5秒間隔で7回実行します。

アクティブメモリと非アクティブメモリの表示

これを行うには、vmstatの後に-aオプションを追加します。以下はその例です。

ディスク統計のサマリーの表示

必要であれば、vmstatはシステム・ディスクのアクティビティ統計を表示することもできます。Dオプションを使用するだけです。

単位

印刷する表示単位文字を選択できます。S に続けて k , K , m , M バイト . 単位を選択しない場合、デフォルトは K です。

特定のディスクパーティションの詳細な統計情報を表示します。

これを行うには、デバイス名の後に-pオプションをつけます。以下はその例です。

書類

vmstatはこれらのファイルから取得したデータを実際に使用します。

/proc/meminfo
/proc/stat
/proc/*/stat 

概要

システムのメモリが不足していると感じたら、物理メモリを増設する前に、このツールを使って問題の根本原因を突き止めることができます。通常、コンソールで man vmstat と入力すると、vmstat の man ページが表示され、vmstat に関する詳細な情報を得ることができます。

経由: -/-------cs/

Read next

サーバー仮想化ストレージの課題は、ソリューションの緊急の必要性を浮き彫りにしている

しかし、これとは対照的に、企業のストレージへの投資は、データ量の劇的な増加に伴って増加することはなく、むしろ縮小する傾向にあるため、IT部門への要求はますます大きくなります。この矛盾は、物事の進め方を見直し、企業で使用されるテクノロジーを再定義する必要性を迫ります。

Jul 10, 2025 · 2 min read