drop_caches

Writing to this will cause thekernel to drop clean caches, dentries and inodes from memory, causing thatmemory to become free.

To free pagecache:
echo1 > /proc/sys/vm/drop_caches
To free dentries and inodes:
echo2 > /proc/sys/vm/drop_caches
To free pagecache, dentries andinodes:
echo3 > /proc/sys/vm/drop_caches
As this is a non-destructiveoperation and dirty objects are not freeable, the user should run `sync' first.

http://www.kernel.org/doc/Documentation/sysctl/vm.txt

注意:在清空缓存之前使用sync命令同步数据到磁盘

---------------------------------------------------------------------------------

# cat /proc/sys/vm/drop_caches

0

默认是0,1表示清空页缓存,2表示清空inode和目录树缓存,3清空所有的缓存

# sync
# free -m
total used free shared buffers cached
Mem: 499 323 175 0 52 188
-/+ buffers/cache: 82 416
Swap: 2047 0 2047
# echo 3 > /proc/sys/vm/drop_caches
# free -m //发现缓存明显减少了
total used free shared buffers cached
Mem: 499 83 415 0 1 17
-/+ buffers/cache: 64 434
Swap: 2047 0 2047
#
---------------------------------------------------------------------------------