freeコマンドの見方
Centos8でfreeコマンド使った時の出力。実メモリを青、スワップを赤で表示。
利用可能なメモリは「available」の値であって「free」ではない。
freeの結果を図示。sharedは共有メモリに割り当てられたメモリだがひとまず無視。
バッファ/キャッシュ
通常キャッシュと呼ばれ、バッファキャッシュとページキャッシュがあり、それぞれbuffers,casheと表現される。IOの高速化のために利用され、空きメモリがあるとOSがキャッシュとして利用するので、「空きメモリ(free)」の数値だけを見ていると、空きメモリがジワジワと減っているように見えるのは、OSがキャッシュ用に空きメモリを使うため。
メモリを多く必要とするアプリケーションなどを動かす場合は、OSがうまいことやってくれて、キャッシュとして利用中のメモリから開放可能な部分を開放し空きメモリを確保する。
available
実際に利用可能なメモリ領域。「空きメモリ(free) + 開放可能なバッファ/キャッシュ」の値。
バッファ(buffers)
バッファキャッシュ。ブロックデバイスを直接アクセスするときに利用。
キャッシュ(cashe)
ページキャッシュ。ファイル単位でのアクセスするときに使用。