【Linux】vmstat・freeコマンドでメモリ使用率・CPU使用率を確認する方法

【Linux】vmstat・freeコマンドでメモリ使用率・CPU使用率を確認する方法

記事の文字数:1185

メモリ使用率はfreeコマンドの総メモリと利用可能なメモリから算出し、CPU使用率はvmstatのアイドル時間から算出します。


スポンサーリンク

freeコマンドでメモリ使用率、vmstatでCPU使用率を確認する方法を解説します。
メモリ使用率はfreeコマンドの結果から総メモリ(total)利用可能なメモリ(available)を取得し使用率を計算します。

メモリ使用率(%)=((total - available) / total * 100)の値

CPU使用率はvmstatコマンドのアイドル時間(id)から算出します。

CPU使用率(%)=100 - idの値

vmstatコマンド使い方

vmstatに監視したい間隔(秒)を指定して使います。
何も指定しないと1回だけ実行されます。

例)3秒ごとに監視する

コマンド
vmstat 3

例)1回だけ実行する

コマンド
vmstat

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 101504 358584 22616 133184 0 1 6 4 27 7 0 0 100 0

メモリ項目の説明

メモリ(memory)に関する項目は以下の通りです。

項目概要
swpd仮想メモリ量(KB)
free空きメモリ量(KB)
bufバッファとして使用されているメモリ量(KB)
cacheキャッシュに用いられているメモリの量(KB)

CPU項目の説明

CPUに関する項目は以下の通りです。

項目概要
usカーネルコード以外の実行に使用した時間 (ユーザー時間、nice 時間を含む)(%)。
syカーネルコードの実行に使用した時間 (システム時間)(%)。
idアイドル時間。
waIO 待ち時間。(%)
st仮想マシンから盗まれた時間。(%)

メモリ使用率の計算方法(freeコマンド)

メモリ使用率はfreeコマンドのtotalavailableで確認します。

メモリ状況をKB単位で確認

コマンド
free -k

freeコマンド出力例

実行結果
total used free shared buff/cache available
Mem: 999028 454496 281896 84 262636 393852
Swap: 1048572 143680 904892

available(利用可能)が393852KBで、total(総メモリ)が999028KBのマシンの場合、
メモリ使用率(%)は、((999028KB - 393852KB) / 999028KB * 100)で60%となります。

メモリ使用率(%)=((total - available) / total * 100)の値

freeコマンド出力項目

freeコマンドの各項目の意味は以下の通りです。

項目説明
total総メモリ量
usedメモリ使用量
free未割り当てのメモリ量
shared共有メモリのメモリ量
buff/cacheファイルバッファ+キャッシュメモリのメモリ量
available利用可能なメモリ量

※「used」は「total - free - buff/cache」の値となり、「free」に「buff/cache」は含まれない。

CPU使用率の計算方法(vmstatコマンド)

vmstatの結果より、以下の通りCPU使用率を確認できます。

CPU使用率(%)=100 - idの値

以下の場合、CPU使用率は(100 - 99)で1%です。

実行結果
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 143680 280920 38772 224040 0 0 0 1 34 56 0 0 99 1 0

※CPUの項目(us、sy、id、wa、st)を足すと100になります。


以上で本記事の解説を終わります。
よいITライフを!
スポンサーリンク
Scroll to Top