Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm using the following commands to flush cache:

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

When I use one of the above commands, I get the following:

-bash: /proc/sys/vm/drop_caches: Permission denied

My system running CentOS 6.5, I logged in as root via SSH.

Any suggestions?

share|improve this question

I'm not sure why are you're running the 3 commands, when the first one is all you need:

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

This will do the following 3 things: free pagecache, dentries and inodes. Using 1 only frees the pagecache while 2 frees the dentries + inodes.

You're probably experiencing some weird timing issue where:

  1. You're doing this operation too quickly
  2. There is nothing to empty since you just previously ran the command
  3. Your previous command hasn't had a chance to complete or be processed


share|improve this answer

this one should work regardless the linux distribution you are running. You need to cover the redirection when running sudo.

$ sudo sh -c "$(which echo) 3 > /proc/sys/vm/drop_caches"

Credits: http://unix.stackexchange.com/a/148442/101951 (i added the which echo part though)

share|improve this answer

Simply you should try this

echo 3 > /proc/sys/vm/drop_caches

but you one is also working with me Same situation here but works fine [root@I-IDS ~]# w 20:56:35 up 4:03, 2 users, load average: 0.00, 0.00, 0.11 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty4 - 16:55 3:48m 0.25s 0.25s -bash root pts/0 20:55 0.00s 0.20s 0.00s w [root@I-IDS ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@I-IDS ~]# sy sync sysctl sys-unconfig
[root@I-IDS ~]# sync; echo 3 > /proc/sys/vm/drop_caches [root@I-IDS ~]# sync; echo 2 > /proc/sys/vm/drop_caches [root@I-IDS ~]# sync; echo 1 > /proc/sys/vm/drop_caches [root@I-IDS ~]# sync; echo 3 > /proc/sys/vm/drop_caches

can you please post our teminal output here from entering command to output

share|improve this answer
just for improvement in me may i know y this got depreciated – Security Beast Dec 19 '14 at 7:23

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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