Windows PreFetch

Category: Windows

"I've heard that Windows XP will run faster if you disable something called PreFetch. Apparently Windows remembers everything you have done and, in a misguided attempt to be helpful, pre-loads all the files and links when XP boots. What's your opinion on disabling PreFetch?"

Should I Disable PreFetch?

To Prefetch or not to Prefetch? In a word... NO! This is the stuff of myth and legend. If you disable the PreFetch facility in Windows, it will cause a NEGATIVE impact on performance for most systems. Commonly used applications will take longer to load because you turned off the caching.

Cleaning the pre-fetch folder is not necessary. Windows manages it automatically, dropping out entries that are old or unused. In addition to making your frequently used programs load slower, it will also INCREASE bootup time because Windows has to re-copy all the page files you "cleaned out".

Everything I have read indicates that the default setting for the Prefetch parameter is optimal for most users. Additionally, the folks from Microsoft say that fiddling with the Prefetch setting in the Registry or the contents of the C:\windows\prefetch or C:\winnt\prefetch folders is COUNTER-productive, and that adding a "/prefetch:1" flag to shortcuts that launch a program will NOT make it load faster. It may even cause a program to crash. Here's a snippet from taken from the Microsoft website:

"Windows XP monitors the files that are used when the computer starts and when you start applications. By monitoring these files, Windows XP can prefetch them. Prefetching data is the process whereby data that is expected to be requested is read ahead into the cache. Prefetching boot files and applications decreases the time needed to start Windows XP and start applications."

Here's another excellent page that gives solid info from actual Microsoft developers and debunks some of the misinformation people are passing around as fact: http://www.edbott.com/weblog/archives/000743.html

Bottom Line: Let the operating system manage the pre-fetch cache -- that is its job. If you want more tips on making Windows run faster, don't miss http://www.askbobrankin.com/make_windows_xp_run_faster.html.

Got comments on the PreFetch controversy? Post them below...


Send this article to a friend.

Jump to the Comments section.

Buy Bob a Snickers.

 

Check out other articles in this category:


Posted by Bob Rankin on October 4, 2006 07:48 PM


Need More Help? Try the AskBobRankin Updates Newsletter. It's Free!

Prev Article:
Convert iTunes Videos to MPEG
Send this article to a friend
The Top Twenty
Next Article:
Cure For Hiccups

Link to this article from your site or blog. Just copy and paste from this box:

Related Keywords: Windows   prefetch   cache   windows   performance  

Most recent comments on "Windows PreFetch"

(See all 18 comments for this article.)

Posted by:
senshikaze
18 Feb 2007

CCleaner can get rid of OLD prefetch data. I'm assuming that is just prefetch data that hasn't been used in a while. I know Windows is supposed to do that automatically, but it isn't perfect and a third party program can clean up behind the Windows automatic process. Just a little more info. It was a good a read and well written.


Posted by:
cliffordem
16 Mar 2007

This is one of the best forums. I use CCleaner weekly. My Prefecth has only 39 entires. Noticed that all of them are programs I use daily and only one entry is 2/12/07. Bob, you are right. XRay is on steroids. Showed me things I hadn't seen with other programs.


Posted by:
Andrew
05 Apr 2007

Windows XP AUTOMATICALLY cleans the folder on que when the 128 limit is reached (not before) and leaves the most used 32 prefetch apps. You should NEVER delete a prefetch file for an installed application. CCleaner irresponsibly uses the NTFS last access date stamp to delete prefetch files. Do NOT use the CCleaner option to clean "old prefetch data", if you have the NTFS last access date stamp off CCleaner will delete the entire folder!


Posted by:
anders
29 May 2007

There's a flaw in the logic behind the windows prefetch.
It doesn't reduce load time, it just shifts the load time to an earlier stage (aka boot time, when you're most likely AFK getting a cup of coffee).

If it could predict what program I am about to start then that would be good, but it can't and it doesn't. It just checks what software that is started and then keeps it in the prefetch until they time out. For it to actually work it would need to track each file over time and check how frequently I call for that file to judge if it should be preloaded.

On this 3 hour old install there's 58 files in prefetch, including system services that I've deactivated, several pieces of install software and even components that I've deinstalled. The fact that I use a program once, doesn't mean that I want it prefetched. XP tries to be smart and clean out old unused entries but it takes time.

Switching prefetch off and adding firefox to autostart has lowered my morning blood pressure a lot. But I agree that you shouldn't fiddle directly with the files. Just switch it off and let it settle.


Posted by:
Vovan
10 Sep 2007

So, after reading a LOT of articles on Prefetch I can only say one thing: YOU ARE BOTH WRONG! Prefetch does pre-map the memory for the processes, so deleting it won't bring much; but when it prefetches every application you run, it cost time to load that information and slows down the kernel A LOT.

Notice, if you choose "Boot-time only" option, Prefetch will only cache the drivers(!), and all that AV and system tray soft will stay slow. If you choose "Applications and boot-time"(default) it will POLUTE. As usual.

So, long talk, short meaning, as some say, here is the solution:

1. Clean the prefetch folder.
2. Reboot, open programs u usually open- do this 5 times. Now you have the IDEAL contents for your PC.
3. Copy Prefetch'ed contents to some directory, or 7z it...
4. Write a simple CMD script:
4.1.Clean Prefetch
4.2.Copy or extract IDEAL contents to the prefetch dir.

Execute this script on every reboot or so, and voila!


Posted by:
Frank McGee
29 Sep 2007

Happened to come across this odd behavior on my home system; had multiple wifi LAN cards, and seemed that one of them in particular was mis-behaving. Attempted to uninstall the driver for the misbehaving one, and this failed. Had to go to "Safe Mode" because I couldn't delete the directory that contained the program files (under "Program Files").

Rebooted. THERES A GHOST ON MY BOX ! It's still running ! How could this be ? Looks like there's still a copy in the prefetch. Will clear the prefetch and see if it's really gone now. Bottom line - looks like this great MS software loads images of files that aren't even on the disk anymore. It isn't even sitting in the Recycle bin; it's completely gone. Yet it's memory lives on in the prefetch. So I'll clean this crap up and see if things improve.

EDITOR'S NOTE: I'd be very surprised if the problem was Prefetch. My guess is that that failed uninstall has something to do with the driver still being loaded. Let us know!


Posted by:
Stephen
01 Feb 2008

How can you stop Prefetch causing IE8 to remember the old height of an image even when the actual image height has been altered? Even if an image is rotated through 90 degrees using Paint Shop Pro and re-saved, Prefetch seems to keep the old height for IE8 to use. I deleted wscntfy.exe...pf in Prefetch when the computer was not running Windows and sometimes it worked and allowed IE8 to see the correct height, but sometimes it did not. The only way I could get IE to see the new height was to rename the folder containing the image.


Posted by:
DjLizard
08 Feb 2008

Finally, a website at the top of Google results that actually has the right freaking answer.

For those who are having issues OR want to test *properly*, do this *first*:
Start > Run... >
rundll32 advapi32,ProcessIdleTasks
(That last part is case sensitive.)
This will allow the prefetcher to clean itself out, optimize your MFT (to remove placebo speed boosts you mis-attributed to deleting prefetch entries), and anything else that has been waiting forever.

So: ProcessIdleTasks, reboot, reboot again and time this second reboot. Delete all your prefetch entries and then time it again.


Posted by:
harkpabst meliantrop
27 Feb 2008

I'd like to note, that all this applies to desktop computers. If a machine is primarily used to run an application server, just the process of monitoring used files and keeping the prefetch data could well be counter-productive. Still, this doesn't apply to the general home installation.


Posted by:
Bryan Molinelli
04 May 2008

None of this "don't delete prefetch files" advice makes much sense. Common logic: prefetch files, when combined, take up megabytes of disc space that you most likely need to use. These "trace" files are only duplicated again and again - for instance, if you use your registry mechanic/cleaning program, a registry mechanic trace file shows up in prefetch - then use it again, and a minute later there's another. What's the point? Also there's mention of Windows automatically deleting unused files from prefetch after a while. This gives Windows too much credit. I noticed after a week that almost none of the files were being automatically edited, and I run a pretty smooth ship on my computer, so I could only blame Windows. All things considered, I'd say clean out prefetch as often as possible. Your computer can run fine without the files stored there "helping" it - and you're freeing up at least a few hundred kilobytes. Not much, but every little bit counts.

EDITOR'S NOTE: Dude, the 80's are gone. Hard drives are bigger, faster and cheaper. You can get a TERABYTE drive (1000 gigabytes) for $200 now. Don't sweat the kilobytes.


There's more reader feedback... See all 18 comments for this article.

Post your Comments, Questions or Suggestions

*     *     (* = Required field)

    (Your email address will not be published)
(you may use HTML tags for style)

YES... spelling, punctuation, grammar and proper use of UPPER/lower case are important! And please limit your remarks to 3-4 paragraphs. If you want to see your comment posted, pay attention to these items.

All comments are previewed, and may be edited before posting.

NOTE: Please, post comments on this article ONLY.
If you want to ask a question click here.


Ask Bob Rankin Home Page
RSS   Add to My Yahoo!   Subscribe in NewsGator Online   Feedburner Feed
Subscribe to AskBobRankin Updates: Free Newsletter
Advertise on This Site!
Copyright © 2005 - Bob Rankin - All Rights Reserved