Help - Search - Members - Calendar
Full Version: Why Does Vista Use All My Memory?
BleepingComputer.com > Operating Systems > Windows Vista
   
TheYoda
QUOTE(Jeff Atwood)
Windows Vista has a radically different approach to memory management.

Windows Vista, as most know, is the biggest user of memory compared to any other OS in the past. The answer is actually fairly simple: Windows Vista uses most of the system memory as cache via "SuperFetch." This, in turn, allows Vista use as much memory as it can for what it thinks your going to do next. Most people will notice immediatly with Vista that it is one of the fastest running operating systems available, and it is because of "SuperFetch" that it is like this. The down side to this, as you would expect, is that it takes a while for applications to load, because "SuperFetch" needs to move the cache to the hard drive to make room for your application. A more thorough explaination and source of this article can be found here (article by Jeff Atwood of CodingHorror.com).

Here's Microsoft's explaination of "SuperFetch" (found here and here):
QUOTE(Microsoft)
Windows SuperFetch enables programs and files to load much faster than they would on Windows XP–based PCs.

When you're not actively using your computer, background tasks—including automatic backup programs and antivirus scans—run when they will least disturb you. These background tasks can take up system memory space that your programs had been using. On Windows XP–based PCs, this can slow progress to a crawl when you attempt to resume work.

SuperFetch monitors which applications you use the most and preloads these into your system memory so they'll be ready when you need them. Windows Vista also runs background programs, like disk defragmenting and Windows Defender, at low priority so that they can do their job but your work always comes first.


Regards,
TheYoda
Billy O'Neal
Vista was not designed to be "upgraded" for current machines. It was designed for machines with gobs of ram and plenty to go around.

The slowest component of any modern computer is the disk. Hard disk speeds have not kept up with increases in speed of many other busses in modern computers. SuperFetch was created to eliminate the bottleneck of the disk.

SuperFetch loads program data into ram, so that the next time you run an app, it does not have to go to the disk.

SuperFetch does NOT move the cache to the disk when an app asks for ram. That would defeat the whole point of it. If there is no room for the cache, it simply shrinks.

Vista's developers noted that, for the majority of users, the newer machines (with ~4gb of ram) have more ram than the average person will ever use. (I have a ram-readout on my G15 keyboard, and I've never been over 1.6GB, even with 20 windows open). Therefore, they created SuperFetch to alleviate the disk bottleneck, while using an underutilized resource in PCs.

More info on SuperFetch here: http://en.wikipedia.org/wiki/SuperFetch#SuperFetch

Also, some Vista security features, such as Address Space Layout Randomization, require slightly more ram to operate correctly. Many of the foundation changes in vista itself, such as the new UserModeDriverFramework, and KernelModeDriverFramework, require significant ram. However, these APIs allow hardware makers to write device drivers which are "sandboxed." For example, in Windows XP, if a single driver crashes, the entire os comes crashing down. In Vista, drivers can be stopped, restarted on the fly. (My graphics card driver has done this on several occasions). The end result? A rootkit cannot install a driver to cripple the system. Poorly written drivers won't cause as many instability problems.

User Accout Control also requires a small amount of ram, because it has to have 2 user contexts in ram at the same time: the limited user, and the (invisible) admin user, that it switches back and forth with.

Finally, Aero uses about 30MB of ram, as well as considerable video ram. Aero is a compositing window manager, and the compositor is called the Desktop Window Manager. More here: http://en.wikipedia.org/wiki/Desktop_Window_Manager .

Windows Sidebar uses ~20MB of ram, depending on what gadgets are running, etc.

A useful article detailing most of the changes in vista is here: http://en.wikipedia.org/wiki/Windows_Vista

Hope that helps a little,
Billy3

Billy O'Neal
Oh, and for the linux famboys reading this, Linux has done something like SuperFetch for a long time. My Fedora box uses ALL of its ram ALL the time. Because not using that ram as cache would be a waste.

Billy3
TheYoda
Should i just like, not post ever again? lol.

Well thanks, billy, for clearing that up. uhm....idk what to say, lol, i guess im outdated and still in my XP world. W/e, that was informative none-the-less, so thanks.

And did you read the article? because the harddrive thing was kind of the jist I got from it. Idk, maybe its just me.

Regards
TheYoda
Billy O'Neal
Why would you not post ever again?

Hey, I'm just geeky and into this stuff.

And yes, thats basically the point. I found and attached that after I had written most of my explanation.....

Have a nice day,
Billy3
TheYoda
I was kidding btw, lol.

TheYoda
Billy O'Neal
[point]Vista is designed to use the extra ram that most modern pcs have to alleviate bottlenecks[/point]

smile.gif

Billy3
TheYoda
Got it, thanks lol. The blog either left out that fact or was not clear on putting that across. I got that SuperFetch put it on the harddrive from it, but either the blog was wrong or I was misunderstanding it lol, a little more research is in due next time lol.

Regards,
TheYoda
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.