How on earth can I disable superfetch? [no flaming please, I have a good reason]

Soldato
Joined
16 Nov 2003
Posts
9,682
Location
On the pale blue dot
So here in the office I run Windows Vista. As part of my job I am frequently booting Virtual PCs that have 1GB ram allocated to them. When I try and boot them, it fails as all my spare ram is cached and Windows doesn't free the cached ram up for VPC fast enough. I've been getting around it by repeatedly trying to boot the VM until Vista has released enough RAM.

Fed up with this, I've tried to turn off superfetch. I've turned off the service and edited the 'EnableSuperfetch' and 'EnablePrefetecher' registry keys to disable it, but it still caches after a reboot!

What am I missing?
 
Does google not come up with any other ideas?

Superfetch shouldn't need to free up ram, as it doesn't 'use' it - it just fills it with stuff. As soon as you load something else, it just writes over it. It's just as easy to change 0000 to what you want as it is to change 0110 to what you want. There should be absolutely no difference (which may be what you're experiencing!)
 
superfetch is a crummy thing not to have settings/configurable options in the control panel.

However, disabling it can screw up your boot time, as it does more than just load programs into memory. It loads driver components, system services & startup .exe's (like antivirus) during the boot so that they dont all have to initialise when you logon to your user account (resulting in a slow logon time & sluggish behaivour after you have logged on.

Heres what i do when i disable it. I like to defrag before doing this.

go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters

Set 'EnablePrefetcher to '2' & click ok & restart

Go to services.msc to disable & terminate 'superfetch'

Go to c:\windows\prefetch & delete all files in there & in the folder 'Readyboot'

Go to services & set superfetch to automatic, dont start the service yourself

now restart, when you hit the logon screen, wait for the hdd light to stop flashing, then logon.

Do nothing for about 3-4 minutes while your programs load & windows prefetches all your boot stuff. Once the hdd liht has stopped flashing for at least a minute, go to services & terminate superfetch & set to disable.

Now only your boot stuff is preloaded into memory & nothing else. Uing this method, i get about 30 second boot time.
 
Back
Top Bottom