質問: サーバーのメモリーの状態 redhat linux 6.2 のサーバーで、特にアクセスはない状態として、 メモリーの状態を調べると、(free -m) total used free shared buffers cached mem: 250 247 3 24 194 35 -/+ buffers/cache: 17 233 swap: 517 0 517 と表示されます。 メモリーの使われている量が多すぎるような気がするのですが、これは、正常な値でしょうか。 (とくに、バッファーという所が、192mも使われています。これは、正常な値でしょうか。そもそも、バッファーというのは、何を表しているのでしょうか。)
回答: unix系(一般のコンピュータの多くも) 使われていないメモリは、どんどん disk アクセスのバッファに使います。 何故なら、そこが一番ボトルネックになり易いからです。 ということで、buffer や、 cash の値が多いのはdiskアクセス時にcpuが遊ぶのを防ぐためだと思います。 また、cron,syslog,lpd...等、一般にdaemonと呼ばれるプロセスは普段殆ど動くことがない為に swap に追い出されます。 実メモリが空いているとアプリケーションを起動した時に swap を起こす必要がなく早く起動できるためです。 (このとき、bufferの部分を使っても bufferですから 実体は他のところにあって swap する必要がなく上書きできますね。ま、write cacheだと、もちろんhddへ書き出す必要がありますが)