Infra Engineer

メモリやCPUの使用状況を確認 ~vmstatコマンド~
2021.09.28
Lv1

メモリやCPUの使用状況を確認 ~vmstatコマンド~

本記事の対象者

LPIC level1習得を目指す初学者の方
コマンドの基本的な用途について、要点を絞って解説します。


今回の内容

今回は、vmstatコマンドについて解説します。メモリやCPUの使用状況を表示します。

・vmstat
システム状況確認コマンドのまとめ
まとめ
確認問題

vmstat

「vmstat」コマンドは、メモリやCPUの使用状況を表示します。freeコマンドでもメモリ状況を確認することはできますが、vmstatコマンドでは、それに加えてCPUの状況やディスクI/Oの情報なども一度に確認することができます。

vmstat
意味 メモリやCPUの使用状況を表示する
書式 vmstat  [オプション] [実行時間間隔] [表示回数]

vmstatコマンドのオプションで抑えておくべきものは以下です。

オプション 説明
-S m メガバイト単位で表示する。(デフォルトはキロバイト表示)
例①)
オプションなしで実行。
[user@localhost ~]# vmstat
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  54264  87836  10860 284672  181 1303 13484  2045  927 3006 31 18 49  2  0
例②)
メガバイト単位で表示。
[user@localhost ~]# vmstat -S m
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     55    110     11    292    0    1  8771  1343  810 1977 20 12 67  1  0
例③)
2秒ごとに3回実行。
[user@localhost ~]# vmstat 2 3
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  88448  74496  12596 260804  111 1103  7879  1537  777 1866 29 12 58  2  0
 0  0  94104  71976  12780 260636  264 2908  5114  3522  652 1180 68 27  1  4  0
 0  0  94104  71984  12780 260580    4    0     4     0  567  127  6  0 94  0  0

このようにリアルタイムでリソース使用状況の変化を確認することもでき、この点もfreeコマンドとの違いになります。

表示内容の詳細について問われることはありませんが、参考として以下に示します。

【参考】vmstatコマンド表示結果の項目別詳細

procs
r 実行中または実行待ちのプロセス数の合計
b 割り込み不可な、スリープ状態のプロセス数
memory(freeコマンドとほぼ同等の内容)
swpd 使用中のスワップ(仮想メモリ)の量
free 空きメモリ量
buff 使用中のバッファの量
cache 使用中のキャッシュの量
swap
si スワップインしているメモリの量
so スワップアウトしているメモリの量
io
bi ブロックデバイス(HDDなど)からの読み込み数
bo ブロックデバイスへの書き込み数
system
in 1秒あたりの割り込み回数
cs 1秒当たりのコンテクストスイッチの回数
cpu
us ユーザのCPU使用率
sy カーネルのCPU使用率
id アイドル時間
wa ディスクI/O待ち時間
st 仮想環境で実行している際、ホストOSにCPUリソースを割り当ててもらえなかった時間

 


システム状況確認コマンドのまとめ

数回に渡り、システム状況の確認コマンドについて学習しました。ここで各コマンドをまとめておきます。

コマンド 出力情報 プロセス メモリ CPU 実行待ちプロセス数 稼働時間
ps プロセス情報
pstree プロセス情報(ツリー形式で表示)
top システムのタスク情報(リアルタイム)
free 空きメモリ、利用メモリの情報
vmstat メモリやCPUの使用状況
uptime システムの稼働時間や負荷状況

まとめ

今回は、メモリやCPUの使用状況を確認する「vmstat」コマンドを解説しました。

最後に確認問題で今回学習した内容を是非確かめてください。


確認問題

問題

正しい記述はどれか。

A) uptimeコマンドで、メモリの空き状況を調べることができる。
B) pstreeコマンドで、実行待ちのプロセス数を調べることができる。
C) freeコマンドで、CPUの負荷状況を調べることができる。
D) vmstatコマンドで、メモリの空き状況を調べることができる。

解答・解説
答え:D

A) ⇒ uptimeコマンドで調べられるのは、実行待ちプロセス数と稼働時間。
B) ⇒ pstreeコマンドで調べられるのは、プロセスの状況。
C) ⇒ freeコマンドで調べられるのは、メモリの状況。
D) ⇒ 正解です。