본문 바로가기
설치 및 기술 자료/Linux

[Linux] CentOS 메모리의 Buffer와 Cache 삭제 하는 방법

by 주식회사 서버몬 2021. 4. 21.

안녕하세요. 주식회사 서버몬 입니다.

 

리눅스 운영 체제는 물리적인 메모리 내에 자주 사용하는 파일이나 파일의 위치 정보 등을 버퍼와 캐쉬 영역으로 자동 할당하여 관리 하기 때문에 디스크의 I/O 성능을 유지시킬 수 있는 장점이 있습니다.

 

하지만, 장착되어있는 물리적인 메모리의 용량이 부족하게 될 경우, 하드디스크에 설정된 스왑 영역을 이용하게 되므로 

오히려 성능적인 부분에는 역효과를 내게 되는 현상이 발생 할 수 있습니다.

 

따라서, 주기적으로 메모리의 사용량을 모니터링 하여, 실제 가용한 물리적인 메모리에 비해 현저히 많은 공간을 버퍼와 캐쉬의 공간으로 OS가 점유 하고 있다면 주기적으로 버퍼&캐쉬 메모리의 삭제를 통하여 최적의 성능으로 유지&관리 할 수 있습니다.

 

 

캐쉬 메모리는 /proc/sys/vm/drop_caches 를 사용해서 비울 수가 있는데,

아래와 같이 3단계로 사용 할 수 있습니다.

 

sync 명령어는 초기화 전에 메모리에 상주되어 있는 데이터를 하드디스크로 옮기는 역할을 하기 때문에,

초기화 하기 전에 꼭 수행해 주어야 일부 데이터의 유실을 막을 수 있습니다.

 

* 옵션 예시

1. Page Cache 비우기

2. dentries 와 inodes 비우기

3.  전부 비우기

# sync
# echo 1 > /proc/sys/vm/drop_caches
# echo 2 > /proc/sys/vm/drop_caches
# echo 3 > /proc/sys/vm/drop_caches

 

하기의 예시에서는 버퍼와 캐쉬를 비우는 명령어와 함께 crontab을 통한 스캐쥴링 방법도 가이드 하고 있으니

참고 하셔서 실제 서버를 운용하는데 도움이 되시기 바랍니다.

 

 

 

HPE, 레노버, 델 서버, 워크스테이션, 기업용 노트북 등 IT 제품은 서버몬에서 견적받아보세요~

제품에 대한 상담을 희망하시면, 02-2026-5062 or sales@servermon.co.kr로 문의 주세요.

서버몬에서 운영하는 IT 쇼핑몰을 구경하시려면, 하단의 로고를 클릭해주세요.

 

 

 

 

 

 

댓글