Linux: echo 3 > /proc/sys/vm/drop_caches takes hours to complete
Dropping the caches shouldn't take much time at all. Are you sure it's really not returning from that echo command for several hours?
It makes sense that the machine is slower after the caches are dropped, since files that it could previously read from cache now have to be read from disk.
The command itself should complete instantaneously. The consequences, i.e. everything needs to be cached again, can take a lot of time. It doesn't make sense: if you can remove it completely it would be a good idea.
Maybe you are looking at the wrong command: does it executes also a sync
before echo 3 > /proc/sys/vm/drop_caches
, such in
sync; echo 3 > /proc/sys/vm/drop_caches
? Because the sync
operation, which flushes all writes to the disk, may take a bit to complete. Also, while also the sync
have performance issue, it may have some sense, in case of sudden power failure the data has been written to the disk already so you are going to be safe.