2021.09.28
メモリやCPUの使用状況を確認 ~vmstatコマンド~
本記事の対象者
LPIC level1習得を目指す初学者の方
コマンドの基本的な用途について、要点を絞って解説します。
今回の内容
今回は、vmstatコマンドについて解説します。メモリやCPUの使用状況を表示します。
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コマンドで、メモリの空き状況を調べることができる。