free를 쳤을때 나오는 버퍼/캐시가 정확히 어떤의미인지요?

mailhoon의 이미지

centos 5 구요

tgp_apache
에 C로 개발한 데몬이 돌아가는데요

이 서버에서

free로 메모리를 보면

total used free shared buffers cached
Mem: 4052 2714 1338 0 417 1948
-/+ buffers/cache: 348 3704
Swap: 4000 0 4000
Total: 8053 2714 5338

이렇게 나옵니다.

현재 메모리 사용이 꾸준히 증가하는 상황이어서 모니터링 하는데 나오더라구요

실제로 사용하지 않지만 os가 그냥 가지고 있어서 그런건지 ㅡㅡ;

top으로 메모리사용 정령해보면 %를 크게 가지고 있는것도 없거든요..

아직 상용이 된것도 아니고

조언 부탁드립니다.

heodh의 이미지

보통 커널이 미리 확보해둔 메모리가 계산에 포함되어 있어서 실제 사용량 보다 많게 보이는 겁니다. 정확히 구분은 잘 모르겠으나 buffer와 cache는 파일과 디렉토리에 대해 빠른 접근을 위해 커널에서 미리 메로리에 사용빈도가 높고 최근 사용한 정보들을 올려놓는다고 알고있습니다. 만약 그 메로모리 써야하는 상황이 발생하면 알아서 보내주기 때문에 큰 걱정을 안하셔도 됩겁니다.

보다 정확한 모니터링은 top 말고 htop라는 프로그램으로 real 메모리 사용량을 알 수 있을겁니다.

우분투에서는 sudo apt-get install htop 인데..............

근데 저도 잘 몰라서.... 위 설명에 대해 확신은 못합니다 ㅡㅡ;;;