How to clear Windows File Cache?
For testing purposed I need to clear file cache (for example to measure file operation performance).
I found CacheSet from sysinternals, but pressing Clear there doesn't help. A file that I just copied to Nil when copied again do this in a blink of an eye (while the initial operation took significant 2 seconds).
Does it mean that HD has its own caching that can't be canceled or cleared?
Solution 1:
I'm not sure how much relevance this has to your question, but to answer your 2nd part, yes, hard-drives have their own internal hardware cache - usually 2, 8, 16, 32 or recently 64 megabytes.
Aside from that, Windows has a feature called Disk Write Caching
which may help you. It can be enabled/disabled on a per-drive basis doing the following (directly copied from here):
- Right-click My Computer, and then click Properties.
- Click the Hardware tab.
- Click Device Manager.
- Click the plus sign (+) next to the Disk Drives branch to expand it.
- Right-click the drive on which you want to enable or disable disk write caching, and then click Properties.
- Click the Disk Properties tab.
- Click to select or clear the Write Cache Enabled check box as appropriate.
- Click OK.
Solution 2:
Here is the easy solution:
Start one (or more) instance(s) of MemAlloc. Allocate an amount of RAM equal with about 80% of total amount of RAM you have installed in your computer. This will force Windows to release the memory it reserved for file caching. Close all MemAlloc instances. Done.
Note: MemAlloc can allocat maximum 2GB of RAM. So, if you have more than 2GB of RAM in your computer, start additional instances of MemAlloc.