Bits from Bill

Technology thoughts leaking from the brain of "Bill Pytlovany"

Monday, October 12, 2009

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.

See: Free #1 Tweak to Improve Windows Performance

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.



prefetch


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.

layout


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.

Labels: , ,

Share on Facebook


5 Comments:

Blogger MysteryFCM said...

I've played with Prefetch myself, though not on Windows 7 yet, and though I've never found an issue with clearing the contents of the folder periodically, I've also not seen any benefits, significant or otherwise.

Same goes for changing the associated reg setting.

3:34 PM  
Anonymous Anonymous said...

On an aging XP installation, one of the main reasons for a sluggish boot time and app launch time is a bloated prefetch cache. I switch it off and delete all entries - prefetch doesn't seem to improve anything but certainly impacts performance on average XP installations of >9 months or so.

2:24 AM  
Anonymous Employment said...

The information about Prefetch was very useful. I was able to learn about its purpose and functions. I have thought about deleting the entries in the prefetch folder but I was worried that it would affect the system. Now I know that it's safe to delete them.

9:24 AM  
Blogger caught said...

I had one, but only one, experience where an item in prefetch got corrupted and deleting it solved the problem. If it happened once a repeat performance is possible, and since deleting the entire prefectch folder doesn't harm anything, it might be worth remembering when a computer is acting up. It happened some time ago, so I do not recall any other details.

11:16 PM  
Blogger Jennifer said...

A computer specialist showed me this trick several years ago, about going in and deleting the prefetch files periodically. I use windows XP, and when it starts acting sluggish, I delete the files, and am amazed every time how much faster everything runs. I've not noticed any delayed boot times or app launches. I also defrag once a week.

11:20 PM  

Post a Comment

<< Home