21

TOP

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.

polym
  • 10,852
OmiPenguin
  • 4,308
  • 1
    define didn't work – daisy Dec 15 '12 at 14:30
  • Means command executed successfully but results didnt changed. Means the Cache Memory remained occupied. – OmiPenguin Dec 15 '12 at 14:34
  • 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
  • 4
    @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

2 Answers2

29

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

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

drop_caches

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.

If you want to run it with sudo, ( thanks for Evhz's comment ):

sudo sh -c "echo 1 > /proc/sys/vm/drop_caches" # or 2, 3 per your needs.
Louis Go
  • 105
16

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

Renan
  • 17,136
Len
  • 394
  • 6
    sudo sh -c "echo 1 > /proc/sys/vm/drop_caches" – Evhz Dec 22 '17 at 08:34
  • @Evhz Your comment should be a new answer and the accepted answer. The current accepted solution gives "Denied" even if using sudo echo 1 > ... – Basj Jul 28 '21 at 09:22