Drop caches

From Leo's Notes
Last edited on 14 March 2022, at 04:13.

In Linux since 2.6.16, you can drop caches to clear out kernel memory that's used by page caches and/or inode and dentry caches.

To free page cache:
# echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:
# echo 2 > /proc/sys/vm/drop_caches
To free
# echo 3 > /proc/sys/vm/drop_caches


To free pagecache, dentries and inodes:

Drop caches does not drop dirty pages. To free even more memory, you can flush these dirty pages with sync first.

On some systems especially with low memory, you may want to run this periodically to prevent the kernel memory from fragmenting. You may wish to add a cronjob that does this:

*/10 * * * * /usr/bin/sync; /usr/bin/echo 3 > /proc/sys/vm/drop_caches

See also