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キロバイトも空いてるんだと考えて良いです。