How to Clear the Linux Memory Cache
Clearing the Linux Memory cache can be a quick way to regain system resources. Writing to the drop_cache process 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 not freeable, the user should run “sync” first in order to make sure all cached objects are freed.
Example - Memory before:
[root@server ~]# free -m [root@server ~]# free -m total used free shared buffers cached Mem: 7860 7040 820 0 343 5076 -/+ buffers/cache: 1620 6240 Swap: 3999 0 3999
Cleanup command:
[root@server ~]# sync [root@server ~]# echo 3 > /proc/sys/vm/drop_caches
Memory after:
[root@server ~]# free -m total used free shared buffers cached Mem: 7860 1279 0 0 0 33 -/+ buffers/cache: 1245 6615 Swap: 3999 0 3999