freeコマンド

freeコマンドについて調べてみました。

freeコマンドの実行結果の例

total       used       free     shared    buffers     cached
Mem:        515312     435600      79712          0     145228     209168
-/+ buffers/cache:      81204     434108
Swap:      1048568         64    1048504

それぞれの項目の説明

Mem:(物理メモリの情報)

-/+ buffers/cache:(実際に使用可能か否かを考慮した物理メモリの情報)

Swap(使用可能なスワップメモリの容量)

まとめ

物理メモリの空き容量としてMem:freeを見てしまいがちだけど、Mem:buffersとMem:cachedは必要に応じて開放されるので実際には空き容量と考えることができる。
この実際に即した数値が-/+ buffers/cache:。

それぞれ、

-/+ buffers/cache:used = Mem:used - (Mem:buffers + Mem:cached)
-/+ buffers/cache:free = Mem:free + (Mem:buffers + Mem:cached)

の結果が表示されている。

上の例でいくと、空きメモリ容量は79712キロバイトしか空いてないのかなと思いがちですが、本当は434108キロバイトも空いてるんだと考えて良いです。