转自:http://www.linuxinsight.com/proc_sys_vm_drop_caches.html

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:

  •  
 
  
  1. echo 1 > /proc/sys/vm/drop_caches 

To free dentries and inodes:

  • echo 2 > /proc/sys/vm/drop_caches
 
  
  1. echo 2 > /proc/sys/vm/drop_caches 

To free pagecache, dentries and inodes:

  • echo 3 > /proc/sys/vm/drop_caches
 
  
  1. 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.

This tunable was added in 2.6.16.

最好加上sync.

 
  
  1. free -ml ; sync ;echo 3 > /proc/sys/vm/drop_caches ; free -ml