I have a Thecus NAS and for some reason it runs a monitoring script that, among other things, checks /proc/meminfo every 60 seconds and when the value of "Cached" exceeds 50% of "MemTotal" it does "echo 3 > /proc/sys/vm/drop_caches" to drop the caches.

I'm no Linux expert, but that seems wrong to me - I would assume Linux is perfectly capable of managing memory itself, and given that this is a file server (NFS) I would want as much unused memory as possible being used for caching, no?

In any case, when they drop the caches the load spikes, as does the disk utilization (8 drives in a raid6 configuration). It doesn't return to normal until the "echo 3 > /proc/sys/vm/drop_caches takes forever" completes, but this can take a long time, hours even.

I've also asked Thecus directly, but their support sucks and I'm not holding my breath. All drives in the RAID are fine according to all the S.M.A.R.T. tests. It doesn't seem to be caused by actual NFS traffic from clients, since the same problem can happen at any time, even the middle of the night when there is no traffic.

Is it normal for dropping caches to take so long? We're only talking 8-12 gigs of cache when this happens).

Any ideas?