geek.conf.2

あるインフラエンジニアの備忘録

メモリーのバッファやらキャッシュやらの話

NSサーバのメモリ使用状況を確認しようと思い、topコマンド打ってM打ったら
まあbindで3Gbyte弱くらい使ってるんだけどfreeがなんか少なくない?

物理メモリ8G積んでてbindとあとはサーバの管理プロセスとかなのになんで
freeが2Gないのですか?

てかbufferとcacheしすぎじゃね?

調べてみたらkernelさんがプロセスに必要なメモリを与えたらあとはbuffer領域やcacheに
与えられる。
確かに使わないメモリをbufferやcacheに割り当ててくれたほうがそれだけディスクI/Oが
起こりにくくなり処理が早いよね。

そんでメモリが必要になったプロセスにbufferやcacheに使用していたメモリを与えてくれる
わけだ。

つまり実際に余っているメモリはfree+buffer+cacheと考えていいみたい。