Is there any command that by using I can clean the cache in RHEL?

I used this command:

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

but it didn't work.

  • 1
    define didn't work – daisy Dec 15 '12 at 14:30
  • 5
    What's wrong with having something cached? It could speed up access to the cached data. – ott-- Dec 15 '12 at 14:43
  • 4
    What problem are you trying to solve? – jippie Dec 15 '12 at 14:59
  • 1
    There are many reasons why the cache wouldn’t be cleared. If the file is in use or if the cache size is due to tmpfs or ramfs. I have blogged about different possibilities of cache here. – Joe Nov 18 '14 at 15:58
  • 3
    @ott--: simple, if you want to run high level performance tests (run version X of A against version X+1 of A to measure differences), how do you eliminate the file system cache from your testing? Because if you don't you'll skew your tests. You could by rebooting, but flushing the cache is certainly another option. – 0xC0000022L Oct 20 '16 at 13:23

Try sync; echo 1 > /proc/sys/vm/drop_caches.

| improve this answer | |
  • sudo sh -c "echo 1 > /proc/sys/vm/drop_caches" – Evhz Dec 22 '17 at 8:34

Depending on what you want to do you can use 1,2 or 3

from https://www.kernel.org/doc/Documentation/sysctl/vm.txt


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:

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.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.