Why Does Vista Use All My Memory?

So, what does it save to the HD when it goes into hibernate mode?

RAM usage isn’t important, except in certain server chipset (and, apparently, the upcoming DDR3 Sonoma chipset), since all the memory is always on. But if it’s reading and writing to it often, that will definitely increase power consumption. Just depends on how stable it is, I guess.

I’d be happy to have XP preload .Net libraries at some point after startup. The only time I ever have a slowdown, even on a cheapo 5400 laptop drive, is loading the .Net runtime up for an app. Once it’s up, no slowdowns anywhere.

The two big similarities in XP are the indexing service and the realtime defragmenter. The indexing service was a miserable failure, since it didn’t integrate into windows search without bizarre syntax, and caused a significant performance hit at times. Defrag is much better; not amazing but it runs much less and does a reasonable job of keeping performance to certain levels.

It remains to be seen which one the huge vista cache wll take after.

No poweruser people only open 1 internet explorer window, and star reading his mail, and infecting his computer with virus. Thats computers have only 256 MB of ram, and you can open more programs, but is not the normal use.

But future users will open more programs, and frezze others. Linux users are a good example of powerusers: some linux users open firefox monday, and close it sunday, 7 days with the application open. As you have more memory you understand that you dont really need to close apps.

With +768MB people will start using more than 5 IE windows, and every windows will have more than 3 tabs. So RAM usage will grow a lot. And more windows users will work like linux power users.

disks will wear out faster, CMOS DRAM will use more power (proportional to state changes), fans will run more, busses will be busier (sic) … basically, you’re using more of your hardware more of the time. perhaps that’s why our brains only use 10% of their capacity – using more would wear them prematurely and it’s difficult to cool a brain as it is now… :slight_smile:

my mom told me to put stuff back where i found it. displacing a cache line is fine, as long as you put the original contents back when you’re done using the cache. but what that original line is no longer available, or needed? then choose something else to put back. that’s all that superfetch is doing. microsoft should make “refetch” APIs available so that third-party companies can tune it to prefer real-time app’s, drivers that consume lots of RAM, and locking app’s into VM… seems that the old unix “sticky” bit is now required again… remember this:
chmod +t vi

Very interesting article. Many people should read it instead of bashing Vista for no reason at all and thinking you will need at least 2Gb to run it find.

The way SuperFetch work it seems like your PC would be faster after a few weeks of use so it knows what you do and when you do it. Quite like some thermal paste takes 200 houres to be at 100% efficiency. The only thing I’m also wondering is if you change your routine, will it gets slower/worse?

On my current computer, WinXP would recommand 2Gb of PageFile to me so I would set min/max to 2048Mb. Now it seems like Vista recommands more “3Gb” even if it doesn’t use more.

Something that I’d really like to know is if you plug a USB stick to use “Windows ReadyBoost” feature, will the OS use in first our fast ram or that usb key? Because if it would use the key which is obviously slower than any ram, it would result in slower performance. I’d really like to know more about how it works as it could be really interesting when the “next generation” of usb key will be out. Those new ones will be small like a 25 and be ~6Gb! Ah and mostly, would it be much faster than the PageFile?! As I won’t keep my usb key plugged if it’s the same thing or worse than PF. With the low price of huge HDD, it’s no more a problem to raise the value of the swap file.

I’m sure it would need a day or three to relearn your new habits, bt in the meantime things will only be as slow as they’d be without the cache, assuming the memory manager has the power to allocate over the cache at will without overhead.

Readyboost is not a RAM expander, it’s a hard drive cache. It wouldn’t make any sense whatsoever to use it as main memory when DRAM is orders of magnitude faster.

Disks are the only hardware components that are really going to wear out from overuse, rather than from age or abuse, adn this won’t even put extra strain on them. Most compenents die from a bad power supply or improper cooling, and the amount of heat these caching technologies will generate doesn’t compare at all to how Aero will keep the cpu and gpu burning.

This performance dip will go away as people
programming games learn to deal with Vista.

This is the real kicker, and I’m guessing that it’s not the kind of thing that can be solved with a “10 Ways to Make Your Game R0XX0R On Vista” article in MSDN.

It’s something that happens with each major change in the technology stack, from the CPU on up through drivers, OS, and utilities, and it’s only solvable through trial and error.

For example, take MSFT’s own MechCommander 2. The disk usage pattern of that game is such that it interoperates horribly with realtime virus scanners. It seems obvious now, but it probably didn’t when the game was being developed.

A change to the stack always hurts initially, no matter how good the developers making the stack change or the games might be.

Anyone else here remember when Win95 would not only boot in 4mb of ram but was actually useful?

905mb of ram vs 334?? I think the more realistic question is what is that CD’s worth of ram doing?

And why would I want memory allocations and drive access to be constatntly waring with some background thread that thinks it is “helping” by loading something I might, but probably won’t actually need?

There had better be a way to tame/turn this off or I’m going to be pissed. Especially since I plan on setting up a fast RAID config sooner or later, in which case app start-up time will drop considerably anyway but I’ll still want to be able to use my RAM quickly.

Also, Windows historically sucks at managing memory. It gets very fragmented, which leads to lots of swapping which leads to sluggish performance which eventually leads to crashes. As a matter of fact, the ENIAC (yes, that thing with the vacuum tubes that were constantly burning out and had to be replaced) was actually more stable than my Windows system is now due to the fact that I regularly use many memory-intensive apps whose demands Windows cannot meet for extended periods of time and therefore eventually crashes. Ergo, constantly swapping possible hard disk data to and from the RAM seems like an incredibly bad idea to me, unless MS miraculously managed to write a competent memory manager for Vista.

Okay, I got work to do so I’m done flaming.

Ok, So I upgraded to 2.5GB on my games machine so I wouldn’t have to deal with the annoying first 3 minutes of slowdown I got with BF2. And now if I upgrade to Vista and use SuperFetch I’ll get that back regardless of the ram I have? No thanks.

Hopefully you can just turn this off. But since I’ve heard nothing about Vista that makes me want to switch and plenty to get me to stick to XP, I’ll think I’ll be part of the majority that stays.

I think the real question here is why hasn’t Windows ever allowed the user to specify how much memory to dedicate to a process manually? Or assign a priority so that certain processes are never swapped out to disk if at all possible? I’d kill for that…

i"…Vista is trying its darndest to pre-emptively populate every byte of system memory with what it thinks I might need next…"/i microsoft is trying its darndest to pre-emptively populate every byte of system memory with what it thinks I might need next. they are usually wrong.

I wonder if this is worth a push to linux for the gaming industry. I see specialiszed/optimized gaming kernals in the future, where pre-emptive caching is kept to a minimum.

Microsoft’s ideal predictive disk caching system:

Word: RAM!
Visual Studio: RAM!
Firefox: disk
Apple web graphics: floppy disk
Linux ISO: they’d never use that, recycle bin

I think that superfetch is getting some undeserved criticism here. In particular, It seems that a lot of poeple believe that superfetch results in long load times in the case where:

  1. all your memory is used to cache a specific set of programs, and,
  2. you decide to start a program X, which isn’t in the cached set.

I have seen nothing that leads me to believe that program X would take a longer time to start (with superfetch) then it would if superfetch wasn’t in use.

What happens if the superfetch algorithm guesses your program choice incorrectly? well, program X is swapped into RAM from the hard disk. Guess what? this is exactly what happens if superfetch is turned off. Theres no need to write back a cached program to the hard drive if the program isn’t in use. (and if the program is in use, you’d hit the hard drive penalty with or without superfetch).

Of course, not actually knowing the details behind superfetch, I could be wrong here. But it seems that in theory, there’s no added penalty for superfetch. I’m not sure why so many poeple are “hoping” that this feature can be turned off. (by the way, as of RC1, it can be turned off).

I hope they have the most advanced theories on fragmentation, scheduling, paging, prediction, and hard drive thrashing. Microsoft has never had a great track record. I will await the final version.

Something to remember is that superfetch runs in background io priority. Because of the way io requests are scheduled, your foreground io request will never wait for superfetch longer than the latency of a single io request (max wait time is bounded).

Well, SuperFetch saw a ton of memory freed to make
room for the game, and dutifully went about
filling the leftover free memory on a low-priority
background disk thread.
I think that’s not what’s happening. ‘A ton of memory freed for the game’ would be ‘freed’ by the game by commiting or reserving it. So it would not be free but reserved.
I think it’s about the ‘low-priority background disk thread’. It is likely the problems you notice are due to badly prioritized threads. Wether it’s the ‘low-priority background thread’ of a pre-release windows or wether it’s some of Battlefield’s necessary thread’s running on a too low priority, I dont know.

how u turn off superfetch? its not lettin me use my pc at all with music programs , it lags them

how u turn off superfetch?

open up a command prompt, type ‘net stop superfetch’, and press enter. (you’ll probably need admin privileges).

its not lettin me use my pc at all with music programs , it lags them

It’s probably not superfetch that’s at fault (but disabling it could be a good experiment). I’d make an educated guess that it’s a driver issue, but of course I can’t be sure. good luck!