Configure Prefetch and Superfetch With TweakPrefetch

Martin Brinkmann
May 15, 2010
Updated • Aug 3, 2010
Software, Windows, Windows software

Prefetch and Superfetch are two Windows modules that speed up Windows in general. Prefetching does this by writing application information (like the files that need to be loaded to memory) to speed up the loading process. Superfetching on the other hand uses a complex algorithm to determine the most used applications on a system to preload them partly into the memory.

Prefetch has been integrated into Windows XP and later operating systems while Superfetch was added to Windows Vista and later. These two functions of Windows are generally best left untouched as disabling or clearing their information can result in permanent or temporary performance degradation.

But there are situations where advanced users might want to have access to the Prefetch and Superfetch settings. One example where this might be necessary is a computer system with SSD (Solid State Drives). Windows Vista for instance has no routine implemented that changes the superfetch or prefetch parameters based on the type of drive.

Microsoft has changed this behavior in Windows 7 which determines the correct settings after initial speed tests of the connected drives. These speed tests might have it wrong at times. It is generally said that Superfetch can be disabled on fast SSDs. Another example where turning off Superfetch might help is a system that is constantly low on computer memory.

The TweakPrefetch utility gives advanced users the tool at hand to configure Prefetch and Superfetch individually.

It is possible to set both Prefetch and Superfetch to one of the following states: Disabled, Applications only, Boot only and Applications and Boot. The prefetch information can also be deleted in the application by clicking on the Clear Prefetch button. A reboot is required after making changes to those settings.

Windows 7 users with Solid State Drives will find this official information from Microsoft about Defragmentation and Superfetch helpful.

Will disk defragmentation be disabled by default on SSDs?

Yes. The automatic scheduling of defragmentation will exclude partitions on devices that declare themselves as SSDs. Additionally, if the system disk has random read performance characteristics above the threshold of 8 MB/sec, then it too will be excluded. The threshold was determined by internal analysis.

The random read threshold test was added to the final product to address the fact that few SSDs on the market today properly identify themselves as SSDs. 8 MB/sec is a relatively conservative rate. While none of our tested HDDs could approach 8 MB/sec, all of our tested SSDs exceeded that threshold. SSD performance ranged between 11 MB/sec and 130 MB/sec. Of the 182 HDDs tested, only 6 configurations managed to exceed 2 MB/sec on our random read test. The other 176 ranged between 0.8 MB/sec and 1.6 MB/sec.

Will Superfetch be disabled on SSDs?

Yes, for most systems with SSDs.

If the system disk is an SSD, and the SSD performs adequately on random reads and doesn’t have glaring performance issues with random writes or flushes, then Superfetch, boot prefetching, application launch prefetching, ReadyBoost and ReadDrive will all be disabled.

Initially, we had configured all of these features to be off on all SSDs, but we encountered sizable performance regressions on some systems. In root causing those regressions, we found that some first generation SSDs had severe enough random write and flush problems that ultimately lead to disk reads being blocked for long periods of time. With Superfetch and other prefetching re-enabled, performance on key scenarios was markedly improved.

TweakPrefetch is a free software program for the Windows operating system that seems to require the Microsoft .net Framework. It can be downloaded from the developer's website.


Tutorials & Tips

Previous Post: «
Next Post: «


Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.