Why Does Vista Use All My Memory?

program X is swapped into RAM from the hard disk. Guess what? this is exactly what happens if superfetch is turned off.

This is correct, as I see it. I can’t see any disadvantage to running SuperFetch. You don’t have to erase data in RAM before changing it, you just change it. If you’re not going to use the superfetched pages then it’d just load the program you chose as usual. Because of SuperFetch’s low I/O priority, there’s effectively no latency (as already said)

i tried but i got the message accesss denied and im the system admin?

i tried but i got the message accesss denied and im the system admin?

when you open up the command prompt, open it by right clicking on the cmd.exe file, and select ‘run as administrator’ from the right click menu. You will have to go through the UAC dialog bs.

after doing this, you’ll have a cmd window which actually has system admin rights. Even though you are already the sys-admin, you still have to do this… Confused? you should be. In my opinion, The UAC dialogs, unlike superfetch, are worthy of some criticism. Even if they do technically make the system more secure. More info here:

http://www.codinghorror.com/blog/archives/000571.html

got it , thanks

everythin runs faster now , only problem i found so far is when i start winwos, takes longer , something makes my computer think a lot after boot

Hi Jeff,
There is a way to disable superfetch in vista by setting the following registry key to a value of “0”:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\EnableSuperfetch

A value of 1 prefetches boot processes, 2 prefetches applications and 3 is for both.

They should have given the option to turn this setting off in the computer management mmc but that works.

ok still not workin , i did set the value to 0 on registry and superfetch is still active , had to turn off again from cmd,
question my memory is still at 700 mb wheen i dont have anythin running, is vista usin those 700?

The theory on caching algorithms is still incomplete, and the practice very dependant on hardware for efficiency. I don’t see where SuperFetch can manage to have predictors fiable enough to offset the (albeight small) additional cost of:
a) Reading data from the disk and filling the RAM
b) Resolve data dependancies when apps reserve some of the RAM that was used for caching.
The difference between this and L1/L2 proc-level caching being that proc cache memory is NEVER needed for anything else. That lets the founders implement caching strategies just tailored to the respective caracteristics of the hardware and cache sizes.
If Vista actually computes a caching policy on the fly, to fit the hw/sf caracteristics, think of the additionnal cost!

mmm was guessin that it turned on by itself after boot, ill try registry edit

Does anyone wonder why they had to create a cache optimizer in the first place for Windows? It’s a sad day when an operating system needs a crutch with this abundent amount of system resources!

What they really ought to have done was just design Windows NT/2000/XP to have a more customizable memory manager like Windows 9X did.

Windows 95’s overall memory management was pretty bad, but the idea of holding off on using the swapfile until physical memory was almost gone wasn’t half bad. At least, it wasn’t if you had lots of RAM in your computer, like 64 or 128 megabytes.

Windows 98/Me introduced a supposed “improvement” in memory management by performing swapfile operations when only about a quarter of memory was in use. The main idea with this seemed to be to improve the performance of memory-starved systems. The trouble was that systems obese with memory got the “improved” treatment, too, which often led to unnecessary swapfile operations when nowhere near all physical memory was in use, leading to reduced system performance.

Thanks to the “ConservativeSwapfileUsage” and “vcache” system options, power users with loads of RAM in their systems could customize Windows’ behavior when it came to memory allocation for programs and disk-caching and virtually eliminate swapfile access to bring out the best performance their systems could offer.

In Windows 2000/XP, like Win98/Me’s stock configuration, the disk cache gets priority in system memory, and little-used loaded program data is shoved out to the swapfile, even when there’s plenty of RAM to go around, all leading to increased swapfile activity. There is no customizability for swapfile behavior or disk cache size range. The most customizability there is for memory management is a swapfile size setting and a setting for whether applications or background tasks get more attention. The rest is hard-coded. There’s no condoned way to configure the system to potentially eliminate swapfile usage.

The best that I’ve been able to do to get zero swapfile activity in a WinXP system is to stuff my system full of RAM(at least 512 MB, 1 GB for games) and disable the swapfile completely. This has worked extremely well for me, but many experts warn that doing this does more harm than good, supposedly.

Windows 9X may have been less stable and supposedly had a far less efficient memory manager than Windows NT/2000/XP, but the level of customizability in that memory manager, in my opinion, allowed for the potential to run far more responsively than Windows NT/2000/XP over a longer period of time. I’ll admit, I still run Windows 98 SE most of the time, because it stays fully responsive longer, and XP doesn’t unless I use that discouraged no-swapfile setting.

ToonPal,

I totally agree with you on disabling the swapfile. Windows XP (on my notebook) seems to like to grind the hdd for no reason, with swapfile disabled. Everything FLYS … although there’s the odd application that demands swapfile to be turned on (eg; Photoshop)

Zhichao,

Yeah, disabling swap file in XP makes the computer a lot more responsive.

Actually, Photoshop is just being stupid. When it complains and asks if you want to continue, clicking either yes/no will continue (wonder why it asks at all). Then you can work normally (never had any problem before).

Be careful disabling the swapfile. The benefits are questionable, and it generally adds more risks than it’s worth for the negligible benefit:

http://www.codinghorror.com/blog/archives/000422.html

Some of people are really stupid, doesn’t even know what they are talking about.

Superfetch will slow your computer down no matter how scheduler is well coded because it’s something like emulating another Machine. Scheduler is a program and a program managed by a program doesn’t get much of a cpu’s speeding up features unless Superfetch is accelerated by a hardware using parallel technic. It will silently eat your resource because when it calculating threshold that’s where is stops frequently, that’s where the bottleneck lies. Of course it’s so efficient so with a better CPU power you won’t notice anything but with let’s say like 1G cpu, you WILL suffer.

I suffered. After just disabling superfetch, my lag stopped. I use 1G cpu with 655 ram and I changed everything and it lagged as hell and after I disabling superfetch it stopped.

Of course it helped launching time of a program like a Game and it really works pretty well but a slight bit of a idle, scheduler will take the chance and will launch Superfetch related code and that’s where your computer stops slightly and it will happen like 5 time a second and you are facked.

Turn everything on, but turn Superfetch, Prefetch, Intelligent start menu or something feature off if you are using slow machine. DLL force unload helps too.

Be careful disabling the swapfile. The benefits are questionable, and it generally adds more risks than it’s worth for the negligible benefit.

The benefit is exactly the same as SuperFetch — not having my applications become sluggish due to the System Cache stealing all their RAM. Only I don’t have to wait for the action which caused the System Cache to balloon to complete.

When I first encountered the bizarro situation where more RAM made my system more sluggish and realized the cause, I tried reducing the size of my swapfile. Guess what happened? Windows XP would complain constantly about not having enough virtual memory even when plenty of physical RAM was being consumed for cache! So I disabled the swapfile and have continued to do so on every desktop system that I’ve upgraded to 2GB+ RAM.

What’s the risk? No crash dumps. Running out of RAM is probably a Very Bad Thing but in my experience the system becomes sluggish as RAM nears exhaustion so I take that as my cue to close something unimportant, like Outlook.

So I disabled the swapfile and have continued to do so on every desktop system that I’ve upgraded to 2GB+ RAM

I had some very unusual things happen to me with the swapfile disabled. The last thing I need is more voodoo on my computer at this point.

Can you point to a specific benchmark that demonstrates a concrete, factual, data-backed benefit of disabling the swapfile? If not, then why do it? You’re assuming quite a bit of risk for no benefit.

Overall system performance is unlikely to be helped by disabling swap and any benchmark with a significant disk I/O component will probably perform marginally worse since the system will be unable to trade swap for cache.

On a system with excess RAM, disabling swap can solve the problem of “My long-running applications take a great deal of time to respond when they are first accessed following some disk-intensive activity.” I don’t mind that a new VMware instance may be marginally slower to boot if it means that I won’t experience a swap-induced lag when I switch back to Visual Studio. It’s a trade-off which works well for my usage patterns. Disabling swap would not be a viable option for someone whose memory needs regularly approach the amount of RAM they have and I would not be surprised by any weird behavior that occurs once RAM becomes exhausted.

Does ReadyBoost make hybrid hard disk drives unnecessary? As I understand it, ReadyBoost allows a USB thumb drive to be used as a cache for frequently-used hard drive content. Is that the same thing that the flash memory on a hybrid hard drive does? If one is already using ReadyBoost, how much of a performance improvement will one see from replacing one’s hard drive with a hybrid hard drive?

Does ReadyBoost make hybrid hard disk drives unnecessary?

No, because the Flash RAM on the hybrid hard drive is accessible before the OS has fully booted… so you can speed up the boot and hibernate/suspend sequences.