[RHEL 공통] cache의 유휴 메모리 free로 반환
본문 바로가기
IT 이야기/Linux

[RHEL 공통] cache의 유휴 메모리 free로 반환

by 찬찬이 아빠 2019. 11. 25.
반응형

cache에 free 메모리가 많이 남아 있는데 이 메모리를 free로 반환하는 방법은 무엇일까요?

 

커널 파라미터 중 vm.min_free_kbytes라는 것이 있으며 이 파라미터는 지정한 용량(KB)을 초과하여 시스템에서 메모리를 사용하게 되며 cache의 free 메모리를 지정한 용량에 맞게 반환하는 작업을 합니다.

 

콘솔에서 명령은 다음과 같으며 /etc/sysctl.conf 파일에 설정하여 사용할 수 있습니다.

# sysctl -w vm.im_free_kbytes=(KB단위)

 

min_free_kbytes를 너무 낮게 설정하면 시스템이 메모리 회수를 실행하지 못할 수 있으며, 이로 인해 시스템이 중단되고 메모리 부족으로 인해 여러 프로세스가 종료될 수 있습니다.

반면 너무 많이 지정하면(총 메모리의 5~10%) 시스템 메모리 부족을 초래할 수 있습니다.

또한 min_free_kbytes 값을 높게 설정하면 시스템이 메모리를 회수하는데 너무 많은 시간을 소모하게 됩니다.

 

Linux에서는 캐시 파일시스템 데이터에 사용 가능한 모든 메모리를 사용하도록 설계되어 있습니다.

따라서 유휴 메모리실제 메모리의 free 영역buffers/cache의 free 영역합한 값입니다.

[root@chan]# free -m
		total		used		free		shared		buffers		cached
Mem:	11911		10595		1316		0			472			6266
-/+ buffers/cache:	3856		8054
Swap:	10239		0			10239

       

이 값은 특별한 사정이 아니라면 kernel에서 초기 할당한 값 사용을 권장합니다.

반응형

댓글