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?

To Prefetch or not to Prefetch?

Should I Disable 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...

 
Ask Your Computer or Internet Question

  (Enter your question in the box above.)

It's Guaranteed to Make You Smarter...

AskBob Updates: Boost your Internet IQ & solve computer problems.
Get your FREE Subscription!


Email:

Check out other articles in this category:



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

This article was posted by on 4 Oct 2006


For Fun: Buy Bob a Snickers.

Prev Article:
Convert iTunes Videos to MPEG

The Top Twenty
Next Article:
Too Many Spyware Scanners?

Most recent comments on "Windows PreFetch"

(See all 25 comments for this article.)

Posted by:

bob
31 Oct 2006

Just for grins, I had to try it, and see. I deleted the contents of \Windows\Prefetch (all 322 entries), and... bang! My "boot" time decreased by 22 seconds. That's empirical observation. What can I say, except... "Your mileage may vary".

EDITOR'S NOTE: Okay, but I imagine your frequently used programs loaded a bit slower the first time you opened them. I checked my prefetch folder and found only about 20 entries, none of which were more than a week old.


Posted by:

shegs
20 Nov 2006

I deleted windows prefetch accidentally, what should i do?

EDITOR'S NOTE: Don't do anything... Windows will rebuild it for you.


Posted by:

Andrew
01 Dec 2006

If you have over 128 prefetch files that means you system has either not been rebooted in some time, not allowed to go idle or the prefetcher is broken in some way. On a properly working system the folder is self cleaning at 128 entries. Regardless extra files do nothing but take up disk space. To learn more about these Myths read: http://mywebpages.comcast.net/SupportCD/XPMyths.html


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.


Posted by:

Larry Miller
29 Jul 2008

The author is correct, "cleaning" prefetch files will impair performance. However, many responders clearly do not understand how prefetch really works. Application prefetch files are used to optimize the loading of applications, not preload them. These files are referenced only after application launch has been initiated, not at boot time. A prefetch file will NEVER cause an application to load. Rarely used or unused prefetch entries will have virtually no impact on performance.

When an application loads, the system does not load all of it into memory immediately. It is loaded only as needed and then cached for later use. This system of loading isn't particularly efficient. The prefetch system keeps track of an application's initial requirements and saves an index in the associated prefetch file. On later program loads the system is able to "prefetch" this data into cache before it is actually required, thus improving performance. But note well, none of this takes place until application launch has been initiated. Deletion of prefetch files will deprive Windows of a valuable resource.

Microsoft's use of the term "prefetch" was unfortunate. While technically true, it has caused many to misinterpret it's meaning. As a result we have the widespread "clean the prefetch" myth.

Larry Miller

Microsoft MCSA


Posted by:

WhamLlama
31 Jan 2009

How is anything in prefetch loaded before the kernel? No way! PreFetch itself obviousely relies on it. Also, people here claim faster startup time by haveing the correct (word of emphasis) files in the PreFetchand and claim to have timed it so that it is an unmistakable fact. My point is certain files should be there; most shouldn't and there should be a fairly user-friendly way to achive this. Volvan was onto something.


Posted by:

Benny Pendentes
14 Feb 2009

The only useful piece of advice in this article is that people who don't know what they are doing shouldn't mess with the guts of their system. The rest of it is ill-informed rubbish that perpetuates ignorance.

As always, each person should do what best suits their system and the way they use it. For me, that means disabling prefetch, which I have done since prefetch first appeared, and for the way I use the computer this gives a noticeable performance burst. When I worked in my uni comp lab, we turned off prefetch on half of the machines as a sort of controlled trial. Within a week people were clumped up on the side of the room that had prefetch turned off, because they got to where they wanted faster.

If you use the same programs all the time, prefetch is great. If you are using different programs all of the time, prefetch slows your system down because it is guessing what you are going to use next, and it is guessing wrong.

Don't believe me, and certainly don't listen to the pseudoadvice in the article. TRY IT and see for yourself if it works for you. If there weren't any good reasons for turning off prefetch, there wouldn't be a switch that does so.

EDITOR'S NOTE: Benny, your "controlled trial" doesn't really help most people in real-world situations. You said turning off prefetch is helpful "If you are using different programs all of the time." That might be true in a computer lab where each computer has many users on a regular basis. But that doesn't describe the majority of computers in use. Most computers are used by one person, and they DO tend to use the same programs over and over.


Posted by:

bayo
25 May 2009

please i need you guys your help, a program keeps deleting the contents of my prefetch folder, how do i stop the from deleting the contents, and let windows regulate it. because my tune-up utilities program keeps detecting a problem with my system's prefetch folder.


Posted by:

Ellis Clevenger
28 Jul 2009

I have a single-user PC. I delete files from pre-fetch (clean pre-fetch) on a regular basis. Once a week. I clean all portions of my computer once a week. When I do this I notice a marked improvement on the downloading of programs and applications. The best advice I can give, I repeat from an earlier posting, IT IS UP TO THE INDIVIDUAL--BUT KNOW WHAT YOU ARE DOING.


Posted by:

grunthos
14 Jun 2010

Well I hate to disagree, but cleaning out the prefetch folder and setting it to only prefetch OS files has changed the logon time on my computer from about 3 minutes (stuck waiting on the XP black screen without moving the cursor and acessing the hard drive repeatedly) to about 20 seconds!!!! I'd rather go by what really happens than the theory. And yes there were a load of "old" pf files in the directory relating to programs that I'd removed ages ago....


Posted by:

johnny v
15 Jul 2010

can you tel me what Rfysyb.exe is? when i open task manager i see that it uses a lot of my resources and when i turn it off , i see no difference in im computer except that i no longer have a lot of CPU usage.

EDITOR'S NOTE: I see no results when I search Google for Rfysyb.exe -- did you spell the name correctly?


There's more reader feedback... See all 25 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.

Free Tech Support -- Ask Bob Rankin
RSS   Add to My Yahoo!   Feedburner Feed
Subscribe to AskBobRankin Updates: Free Newsletter
Copyright © 2005 - Bob Rankin - All Rights Reserved
Privacy Policy -- See my profile on Google.


Article information: AskBobRankin -- Windows PreFetch (Posted: 4 Oct 2006)
Source: http://askbobrankin.com/windows_prefetch.html
Copyright © 2005 - Bob Rankin - All Rights Reserved