こんにちはユキトモです。
今回は「freeコマンド」について簡単に解説していきます。
この記事でわかること
- freeコマンドの概要が分かります。
freeコマンド
簡単に言うと
「メモリの利用状況を調べるコマンド」
です。
一般ユーザでも利用できるコマンドです。
引数なしで実行すると今の状況を表示することができます。
筆者の環境を例にすると、
free
 
# free
total used free shared buff/cache available
Mem: 3734924 1485284 427068 14212 1822572 2168976
-/+ buffers/cache: 135920 1863316
Swap: 4165628 33280 4132348
各項目の単位はキロバイトです。
1行目(Mem:の行)を見て下さい。
「合計3,734,924キロバイトで、1,485,284キロバイトが使用されています。残りは427,068キロバイト」と確認することができます。
それほど、メモリが多く使われていないことが分かります。
ですが大きなプログラムが動いているわけでもないのに、メモリ利用率の高さが異常に大きい場合があります。
Linuxは、各プロセスにメモリを割り振ります。
そして残った容量をバッファとキャッシュに利用します。
それからHDDなどのデバイスへのI/Oを軽減するという仕組みになっています。
バッファとキャッシュにかなりのメモリ容量が使われているとこの数値が多くなります。
なので1行目の項目だけを見ると残り容量はわずかにしか残っていないように感じます。
注目すべき箇所は2行目の「-/+ buffers/cache:」です。
ここは、1行目のused/freeの値から、buffersとcachedを差し引いた値が表示されます。
「used」の項目が、カーネルやプログラムが利用しているメモリ容量を表します。
「free」の項目が「実質的な空き容量」となります。
「実質的に135,920キロバイトを使用し、1,863,316キロバイトが空いている」となります。
メモリには十分に余裕があり、問題がないことが確認できます。
3行目の「Swap:」は、スワップ領域の状況を表します。
「used」が大きい場合、スワップ領域に大きな負担がかかっていることになります。
0でない場合でも、値が小さければ問題ないと思っていいでしょう。
通常使われないプログラムがスワップ領域に常駐することがあります。
その状況だと考えることもできるのが理由です。
長期に渡って値の変化に注目することが必要だと言えるでしょう。
freeコマンドは見方を知っていると便利なコマンドなので覚えておくといいでしょう。
以上、freeコマンドの概要の解説でした。