리눅스 / 캐시 메모리 삭제하는 방법
Created 2023-12-18
Last Modified 2023-12-18
free 명령어로 메모리 사용 현황을 볼 수 있다. 아래의 경우 free에 여유가 있는데, 만약 buff/cache 사용량이 많아 free에 공간이 없다면 시스템이 느려진다. 그런 경우 메모리 캐시를 삭제하여 속도를 향상 시킬 수 있다.
# free total used free shared buff/cache available Mem: 3734312 928012 2766924 21448 277512 2806300 Swap: 4145148 0 4145148
pagecache 비우기
echo 1 > /proc/sys/vm/drop_caches
dentries, inodes 비우기
echo 2 > /proc/sys/vm/drop_caches
pagecache, dentries, inodes 모두 비우기
echo 3 > /proc/sys/vm/drop_caches
메모리를 비우기 전에 sync 명령으로 저장되지 않은 메모리의 데이터를 디스크로 저장하는게 좋다고 한다.
sync
주기적으로 캐시 삭제를 하고 싶다면 crontab을 이용한다. 아래와 같이 하면 매 시간마다 pagecache, dentries, inodes 모두를 삭제한다.
0 * * * * sync && echo 3 > /proc/sys/vm/drop_caches