반응형
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에서 초기 할당한 값 사용을 권장합니다.
반응형
'IT 이야기 > Linux' 카테고리의 다른 글
[RHEL 공통] 정규 표현식에 사용되는 특수문자 (0) | 2019.11.28 |
---|---|
[RHEL 공통] expect를 이용한 sftp 자동접속 스크립트 (0) | 2019.11.28 |
[RHEL 공통] 32bit 리눅스 환경에서 4GB 이상의 메모리 지원 (0) | 2019.11.25 |
[RHEL 공통] telnet외 원격지 리눅스 서버 포트 오픈 확인 방법 (0) | 2019.11.25 |
[RHEL 공통] SWAP 메모리 초기화 방법 (0) | 2019.11.25 |
댓글