Disable Superfetch and Prefetch for SSD

A while back we blogged about how you should disable the disk defragmentation scheduled task in Windows 7 if you are using solid state drives (SSD).  I would also like to recommend that Superfetch and Prefetch be disabled.  This is done by changing EnableSuperfetch and EnablePrefetcher from 3 to 0 in the registry under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters.  The Superfetch service should be disabled.

Briefly (and probably a little incorrectly), Prefetch copies frequently accessed files together into a contiguous area on the disk so they can be located and loaded faster.  There is no need to be copying these around – access times are basically the same regardless of where the file is.

Superfetch learns what programs you run when Windows first comes up and gets them loaded into memory before you run them.  In my opinion, the overhead in using this feature outweighs the performance gain, since loading times are so fast with an SSD.  And besides – it’s my own private business what programs I am going to run.

I have read second or third hand that Windows 7 will automatically detect an SSD and disabled these, but depending on the history of your Windows 7 installation, or if it’s a virtual machine, then this might not have happened.  I have also read that if you run the performance troubleshooter, it will may set these values back. [more]

If you want to understand more about Windows 7 and SSDs:


General SSD Windows 7