메뉴

Linux Cached Memory terminate

2012년 8월 8일 - Linux

리눅스는 기본적으로 VFS(Virtual File System)이 존재하고 우리가 OS에서 사용하는 모든 파일은 VFS에서 실제마운트된 파일시스템을 사용하게 됩니다.
간단히 말해
디렉토리 구조는 dentries cache 에 적재가 되고
각각의 node 들은 inode cache 에 적재가 됩니다.
그리고 각각의 파일들은 page cache에 적재하여 사용합니다.
문제는 이 cache들이 entries가 많거나 node가 많을경우…
또는 각각의 프로세스들이 access 하는 파일 및 메모리의 양이 많으면서 crashed memory 가 많을경우
kernel 에서 cache를 control 할수 없게 됩니다.
이때 vm영역에 있는 drop_cache 를 이용해서 해당 cache를 terminate 하여 usable memory 를 확보 할 수 있습니다.

To free pagecache:

#echo 1 > /proc/sys/vm/drop_caches

To free dentries and inodes:

#echo 2 > /proc/sys/vm/drop_caches

To free pagecache, dentries and inodes:

#echo 3 > /proc/sys/vm/drop_caches

Tags: , , , , ,

댓글감사!