No Cache No Buffer (Clearing the cache and buffers in Linux)

Linux has a command you can use called echo which will clear the cache for you without interrupting any processes. This command has three functions and can be executed like so (from root).

Clear pagecache:

# echo 1 > /proc/sys/vm/drop_caches

Clear dentries and inodes:

# sync; echo 2 > /proc/sys/vm/drop_caches

Clear pagecache, dentries, and inodes:

# sync; echo 3 > /proc/sys/vm/drop_caches

The sync command in this code is used to clear the system buffer, while the echo command will execute after the sync finishes.

Again, these are all root level commands. The sudo version changes the syntax a bit, like so:

$ sudo sh -c 'echo 1 >/proc/sys/vm/drop_caches'

The echo command works the exact same way, and you can substitute a 2 or 3 in that command to get the result you want.

When Should I Clear Cache and Buffers?

Well the real answer is that you usually shouldn't unless you're running tests ir benchmarks. Linux will automatically use your available ram for disk caching. Clearing this cache out will make your pc run slower, while providing no other benefit. So there's really no reason to clear cache or buffers unless you're testing something specifically.

That's it for today's article! If you have questions about it, any feedback on ServerSuit or just keep up with our updates, follow and @ us on Facebook and Twitter.

Until Next Time!

December 14 2020

Add or review comments

Please leave your comment

Existing comments

Comments 0