Software Version:
Operating System: ubuntu10.04
Kernel version: Linux version 2.6.32-36-generic
Content:
If a program frequently accesses a large number of files, the Cache Usage will increase dramatically and it will not be automatically released after the program exits. If a large amount of memory is always occupied by the cache, the system will become very slow, and even the command is stuck. We can clean up the cache by writing different values to the/proc/sys/Vm/drop_caches file.
First, run sync to write the buffer to the disk.
$ Sync
Write the value 3 to/proc/sys/Vm/drop_caches.
$ Echo 3>/proc/sys/Vm/drop_caches
Details about drop_caches:
Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free.
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
As this is a non-destructive operation, and dirty objects are
Notfreeable, the user shocould run "sync" first in order to make sure
Allcached objects are freed.
This tunable was added in 2.6.16.