Vmstatは、仮想メモリ統計のレポートを提供するツールです。システムのメモリ、スワップ、およびプロセッサの使用率をリアルタイムでカバーします。
mpstatと同様に、vmstatはsysstatパッケージに含まれています。お持ちでない場合は、sysstatパッケージをインストールしてください。
vmstatを実行するには、 vmstatと入力するだけです。 コンソールで。パラメータなしでvmstatを実行すると、vmstatのデフォルトの結果が表示されます。
vmstatが提供する情報の読み方を見てみましょう:
手順
Procsにはrがあります 列とb 桁。 r 列は、プロセッサへのアクセスを待機しているプロセスの総数を意味します。 b 列は、スリープ状態のプロセスがまったくないことを意味します。それらの列の下に、値があります。上のスクリーンショットから、プロセッサへのアクセスを待機している2つのプロセスと、スリーププロセスを待機している0のプロセスがあります。
メモリ
メモリにはswpd、free、buff があります およびキャッシュ 列。この情報は、 free -mと同じです。 指図。 swpd列 スワップファイルまたはディスクにスワップされたメモリの量を示します。 無料のコラム 使用可能な未割り当てのメモリを表示します。 バフコラム 使用中のメモリの量を意味します。そしてキャッシュ列 アプリケーションが必要な場合にスワップファイルまたはディスクにスワップできるメモリの量を示します。
交換
スワップは、スワップシステムから送信または取得されたメモリの量を示します。 si 列には、スワップから実際のメモリに移動されるメモリの量が示されます 毎秒。 そう 列は、実際のメモリからスワップに移動されたメモリの量を示します 。
I / O
io 読み取られたブロックと書き込まれたブロックの観点から、1秒あたりの入力および出力アクティビティの量を示します。 bi 列には、受信したブロックの数と boが表示されます 送信されたブロックの数について教えてください。
システム
システムは、1秒あたりのシステム操作の数を表示します。 in 列は、1秒あたりのシステム割り込みの数について教えてください。 cs 列には、すべてのタスクを処理するためにシステムが行うコンテキストスイッチの数が示されています。
CPU
CPUは、CPUのリソースの使用法を示しています。 私たちのコラム プロセッサがカーネル以外のプロセスに費やす時間を教えてください。 sy列 そのプロセッサがカーネル関連のタスクに費やす時間について教えてください。 id列 プロセッサがアイドル状態になっている時間について教えてください。 wa列 プロセッサがI/O操作の完了を待ってから、タスクの処理を続行できるようになるまでの時間を教えてください。
1。遅延を伴うvmstatの使用
統計のツールとして、vmstatを使用する最良の方法は、遅延を使用することです。 。したがって、アクティビティを定期的にキャプチャできます。 5秒の遅延でvmstatを実行するとします。 vmstat 5と入力するだけです それを行うためにあなたのコンソールで。
コマンドは5秒ごとにまで実行されます Ctrl-Cを押して停止します。
カウントを使用できます vmstatが実行される回数を制限します。
上記のコマンドは、vmstatを5秒の遅延で7回実行します 。
2。アクティブなメモリと非アクティブなメモリを表示する
これを行うには、 -aを追加します vmstatへのパラメーター。これがサンプルです。
注-実行キュー(r値)がサーバー上のCPUの数を超えると、CPUのボトルネックが発生する可能性が高くなります。
3。要約ディスク統計を表示する
vmstatは、必要に応じてシステムディスク統計を出力できます。 -Dを使用する 印刷するパラメータ。
4。ディスプレイユニットを表示
印刷する単位文字を選択できます。 -Sの後にk(1000)、K(1024)、m(1000000)、M(1048576)を使用 バイト。単位を選択しない場合、vmstatはK(1024)を使用します。
5。特定のパーティションの詳細統計を印刷する
これを行うには、-pパラメータの後にデバイス名を使用します 。これがその例です。
使用するファイル
vmstatはこれらのファイルを使用して機能しています。
/proc/meminfo
/proc/stat
/proc/*/stat
結論
システムのメモリが不足していると思われる場合は、物理メモリを追加する前に、このツールを使用して問題の根本原因を特定できます。いつものように、コンソールで「man vmstat」と入力すると、vmstatコマンドの詳細を調べることができます。