@tooljpさんをフォロー

vmstat でメモリやCPUの統計情報を取得

vmstat ではメモリやCPUの統計情報を取得できます。オプション無しで vmstat を実行した場合には、システム起動開始からの統計情報が表示されます。直近のメモリの統計情報を取得するには、パラメータを指定します。以下の例では5秒間隔で 3回メモリの統計情報を表示しています。

# vmstat 5 3
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 1552008 23004 200712 0 0 656 42 161 294 3 7 90 1 0
0 0 0 1552024 23004 200712 0 0 0 0 100 249 3 0 97 0 0
0 0 0 1552016 23012 200712 0 0 0 5 51 90 0 1 99 0 0

procs r CPUリソース割り当て待ちのアクティブなプロセス数。
→この値が大きい場合にはCPU増強が効果的。
b CPU割り込みが禁止されスリープ状態のプロセス数。
→この値が大きい場合にはシステム動作低下の原因。CPU増強を。
memory swpd スワップファイルの使用量 (Kbytes)。
この値が大きい場合には物理メモリの空きが少なくスワップファイルが大量に使用されています。物理メモリの増強を。
free 物理メモリの空きメモリ量 (Kbytes)。キャッシュとバッファの使用量は空きメモリに含まないで計算。
→この値が小さい場合には物理メモリの空きが少なくなっている。物理メモリの増強を。
buff デバイスのバッファとして使用されている物理メモリ量 (Kbytes)。
→この値が大きくても他のプロセスで物理メモリが必要となった場合には自動的に開放されるため問題ありません。
cache ファイルキャッシュとして使用されている物理メモリ量 (Kbytes)。
→この値が大きくても他のプロセスで物理メモリが必要となった場合には自動的に開放されるため問題ありません。Linuxカーネルは物理メモリに空きがある場合には可能な限りファイルキャッシュとして使用しようとします。
swap si スワップインされたメモリ量。
→この値が大きい場合にはメモリの空きが少なく頻繁にスワップが発生している可能性あり。
so スワップアウトされたメモリ量。
こ→の値が大きい場合にはメモリの空きが少なく頻繁にスワップが発生している可能性あり。
io bi ブロックデバイス送信ブロック数 / 秒。
bo ブロックデバイス受信ブロック数 / 秒。
system in カーネルに対するトータルの割り込み数 / 秒。
→この値が大きい場合には同時実行するプロセスが多いことが分かる。CPU増強かcore数の増強を。ハイパースレッドの有効化を。
cs コンテキストスイッチ / 秒。
この値が大きい場合には同時実行するプロセスが多いことが分かる。CPU増強かcore数の増強を。ハイパースレッドの有効化を。
cpu us CPUがユーザモードで動作した割合。
sy CPUがシステムモードで動作した割合。
id CPUがアイドル状態であった割合。
wa I/O待ち時間の割合。
→この値が大きい場合にはCPUの待ちが大量に発生しシステム動作低下の原因となっている。CPU増強を。
st 仮想OSがCPUを使用するために待たされた時間の割合。(仮想化使用の場合)


[redhat linux 技術ドキュメント トップ]
[FAQ CENTER トップ]