Dropping filesystem caches.
By writing to /proc/sys/vm/drop_caches
the linux kernel will drop clean caches, dentries and inodes from memory, causing that memory to become free. (yay!)
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.
This tunable was added in 2.6.16.
It’s pretty handy when trying to benchmark disks.
Sidenote: on FreeBSD this is impossible, you have to unmount the disk and remount it.