Faster Startup with Windows Prefetch
Earlier this month I had a huge reaction to my post about cleaning up the Windows “Temporary Internet Folder”. Comments from readers provided many other great tips but there was some confusion over one of my major points. Even if you don’t use the stand alone Internet Explorer browser, other components of Windows use this folder so if you missed this post check it out.
A few people also mentioned the Windows Prefetch folder. Prefetch is a pretty cool feature that started with Windows XP, was improved in Vista and even more optimized in Windows 7. There are two primary functions provided by the Prefetch system both designed to speed up your boot and recover time.
The first methodology used by Prefetch is to tell Widows which programs or code segments are commonly used at startup by multiple programs or processes. Instead of the having Windows load the same code segment multiple times, it’s loaded once and available for all the programs who use it.
The second focus of Prefetch is to help the disk layout of programs which are commonly loaded at startup. Window keeps track of commonly loaded programs and will check how these programs are stored on your hard drive or other storage device. If needed, the disk will be de-fragmented and organized during idle time so that the programs are easily accessible at boot time. This information is stored in a text file layout.ini found in the prefetch folder.
Other memory optimization information is stored here and used by Windows to decide which code segment should be in active memory and what can be cached. Under Windows XP, many background programs like virus scanners which aren’t common startup programs may get more attention than they deserve. While it’s been fixed starting with Vista, it can still be a problem under Windows XP. If this becomes a problem the solution is a simple reboot. There has always been the controversy over keeping your computer on over night or to reboot each day. I now recommend occasional rebooting which will also help refresh the Prefetch information.
The Prefetch folder is another good reason to keep your list of auto startup programs to a minimum. Using programs like WinPatrol can clean up which programs are auto started and thus stored in Prefetch. Adding WinPatrol PLUS will help you decide which programs are really required.
Delete Prefetch Files?
A lot of tipsters advocate going into the Prefetch folder and deleting the files so it can start with new information. I’ve been playing with this and while I haven’t seen any difference, I don’t see this causing any harm. The next few times you reboot it might take a little longer but that’s expected. I have determined that Windows does do some garbage collection on its own and limits the number of .pf files in this folder to 128 or less.
Microsoft will pay you to forward this Email.
If you believe this one I have another myth for you. An online tip I’ve seen recommends modifying the registry value used by the prefetch mechanism.
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
There are four values used here by Windows.
0 – Disable Prefetch
1 – Use Application Launch Prefetch only
2 – Default Boot Prefetch
3 – Maximum Prefetch
If you read that you can use a value higher than 3 don’t believe it. I’ve heard from people who swear they see faster performance but there’s no technology to back up the claims.
I’ll be doing some more research on how prefetch, SuperFetch and other memory optimization is done in Windows 7 but for now I recommend just letting Windows do its thing.