Why Does Vista Use All My Memory?

I use Windnws server 2008 64bit built on vista sp1 kernel. I made some adjustments to transform it to ‘so called’ workstation. I use it mainly becouse its free for 8 months. Till now I have been useing xp sp2 2GB with page file off - no problems at all. I play games most of the time. Bf2 was all the time smooth under xp. Under win 2008 was stuttering for like 10 sec after switching back to gameplay from desktop. Additional 4GB ram sorted it. Now I have 6GB of ram and everything flies so far. 3d Mark 2006 score is the same as it was in xp. Bf2 performance is the same in xp. General use performance is about the same as in xp. So far I am happy with my modified Windows server 2008 built on vista sp1 kernel.

I would like to add some more detailed comments to my previous post. As I stated I use windows server 2008 64bit which is built up on vista sp1 kernel. I made a modifications to it and turned off some server features so I can use it as a ordinary desktop system. It uses windows vista 64 bit drivers so driver-wise I had almost no problems apart from instaling my pci-e wifi card from Abit, because manufacturer’s drivers won’t work I had to use a chip based driver and it works flawlessly now. Superfetch is off by default in this system but I enabled it and the outcome it that windows allocates 3.8 GB out of my 6 GB of RAM and is showing that 1.8 GB is free. Pagefile allocates 1 GB. No matter what application I run it remains about the same even if I run and play battlefield 2, which I play on the best possible details in 1280x1024 with 4xAA on. Starting time for all my applications is almost none. I mean applications like skype, miranda,email client, opera browser, burning software, commander, system info, 3d mark06, and similar ones. When the superfetch is off my windows allocates like 500MB of ram when idle and more according to programs needs. I have tried to open all my apps I have instaled and some more windows so I had like 20 open apps on my taskbar and then started my most demanding game Bf2 and loaded map with 40 players and it has no impact on performance whatsoever. Loading times were the same and the gameplay was the same smooth experience as ever. Switch to desktop and back to gameplay was without any delays or stuttering and its worth to notice that I use areo with all possible eyecandy on. Taskmanager was still showing the same with superfetch on which is 3.8GB used and 1.8GB free. So to me superfetch works and it works great as long you have a decent computer with 4GB+ of ram. When my system is held CPU usage is fluctuating between 0 and 1 percent. The only time I would maybe like to put the superfetch back off would probably be if I decide to cut some huge video or audio files but till I dot try that I cant say If maybe superfetch would be that smart and empty the memory for me recognising that I am going to need it. So so far I have to tell that I never had such a great and fast desktop experience like now and I went through windows 3.xx, 95, 98 se, millenium, xp but not the linux thou… But I have to confirm that you need that decent computer with 4GB ram or more. Windows 2008 ‘workstation’ is said to be generaly faster then any vista, but I cant confirm that since this is my first 64 bit vista based operating system.

You can read about windows server 2008 modifications in here www.windows2008workstation.com

My system specifications are: MB Abit IP35 Dark Raider, core2 intel e2160 1.6GHz overclocked to 2.9GHz with fsb 366MHz and original voltages and cooled with artic freezer 7 pro with 80mm sharkoon golf ball (2000rpm all the time yet very quiet end effective.) FSB:MEM 1:1, 6GB DDR2 corsair xms2 pc6400 cl4 4 4 12, ati radeon x1900xtx 512 DDR3 with modified bios and aftermarket cooler accelero S1 with turbo module, psu 720Watt Enermax infinity, hdd 250GB SATA II Samsung spinpoint, wifi pci-e abit airpace, onboard sound, mouse Microsoft-razer’s Habu, joyistick Saitek Cyborg Evo Wireless, ordinary 17 inch CRT (going for 30 inch daewoo soon), going to upgrade CPU and graphics card soon as well. The CPU of my choice will be probaly core2 quad 2.4@3.6GHz (with fsb on 400MHz)

Sorry, I have posted bad link for windows server 2008 workstation modifications. The correct one is www.win2008workstation.com

Wow there sure is a lot of people here saying the same thing over and over again. Talk about waste. Did all of you even read the discussion before you posted or do you really thing it is necessary to say the same exact thing someone above you posted. I don’t even know how many different times I read “Vista is Bloat Ware” or “Vista is Garbage”. Did some of you really feel the need to tell us how superfetch works using after the author already did that. Some of you added to the authors comments and that is fine but some of you repeated everything the author told us. This is not high school we do not need to hear 50 people summarize the article.

This article contains information that is helpful and useful. Computer technicians need to work with Vista to stay up to date with the problems their customers will experience. Especially with so many inexperienced home users are getting this OS with their new systems.
Vista Uses a lot of memory. Vista uses more memory than XP we get that, but the amount of memory Vista is using is not measured by subtracting the free memory from the total memory. The amount of memory being used is displayed in the top left hand corner in the box labeled memory. The little green indicator is telling you how much memory is being used. In the example given in this article vista is using 905 MB of memory. If you subtract that from the 2 GB (2048MB) supposedly in the system you will see that there is actually 1143MB unused. Watch that little indicator every time you open something and you will see that it increases when you open an app and decrease when you close an app. I don’t know why it says there is only 6MB free but this is not a true indication of the amount of Memory free on your system.

Some of you asked if they tested Vista before they marketed it. Well I recall them having Vista Beta so that it could be tested. Last I heard that is testing. But Microsoft did understate the minimum requirements to run Vista which is why they are in the middle of a law suit for false advertisement. (Read about it in Google news last week)

Microsoft has consistently presented its customers with more Demanding software over the course of its existence. It has fallen under much scrutiny since the beginning of its popularity. Win 95 Was horrible and the only reason I ran it was because certain software required it. Win 98 (1st edition) did not improve much. It seemed more like Win 95 with the Plus features on it. Now Win ME ran great for me. I hear many remarks about this one but I had fewer problems with ME than any of its predecessors including 98 SE. 2000 Was the most stable but was more focused on the business community not the home user community. XP had many bugs at first, I have seen Endless boot loops many times. Not to mention in the beginning you could not install Win XP on a system with 512 MB of Memory. I remember having to take out one of the mem sticks just to get it loaded then reinsert the memory after Win was installed. Over time they improved XP to its current state (which is better but not perfect). I presume Vista will get ironed out as well.

I tested the performance of Vista by opening certain small apps side by side with an equivalent XP machine( such as notepad, word, iexplorer) and there was now evidence to support Vista is considerably slower. Notepad and iexplorer opened at the same time. Word opened a little slower but the time difference was not so marginal that you could run to the kitchen and get ice cream. It was less than a 1 second delay.

One of you stated that there is a ceiling on 32 bit machines. This is a correct statement but the ceiling is actually 3 GB to 3.5 GB. So everyone who says they have 4GB or more, if you are not using the 64 bit version you really aren’t using all of that memory. (if you are using the 64 bit then great for you I don’t need to hear about it)
You can disable superfetch permanently (not just per session using the command line entry) by going under services and disabling the service. For those who do not know where to find services it is under control panel administrative tools services. There you will find the superfetch service. You will also find the service for search indexing (which is labeled windows search) and readyboost(which can be disabled if you do not plan to use a flash drive for page files) As for me I use flash drives for sneaker net functions not for page files.

For those of you who said you are not easily predicted, I hate to tell you but after reading your first few sentences I knew what the rest of your post was going to say. Just like I predict that there will be some upset people after reading this post. Your video game not running fast enough is not much of a reason to be angry.

I had 101.0 GB and I shut my computer down and re-opened it. Now I have 71.0 GB, what’s going on?

try disable restore point on hard drive reboot then enable restore point. now you should have all your free gigs back on your hard drive

From your own screen shot:

2045 - 1277 - 6 = 762MB being consumed for essentially having nothing running (unrelated to aggressive disk caching) in vista vs 334MB in XP.

I suspect the reason they got rid of “commit charge” in Vista was to hide the real indicator for comparison of how much more of a pig vista actually is on RAM. This kind of memory usage out of the box is absurd and unecessary. Even the server versions of vista (win 2008) use much less memory when doing absoultely nothing.

Yes if you have 2GB of ram and never use more than 1GB running applications Vista is great. If you actually want to use the memory you have the picture is quite different. The only time I used vista was on a notebook with 768MB of ram… Opening more than a few browser windows lead to swap hell (painfully slow). It took me more than an hour disabling enough useless crap that most people don’t need or want to get that changed enough to make the system semi usable.

is there a way to clear the cache?

Disabled superfetch, indexing, I have 2Gb of RAM and Vista says I have 2030Mb, Cached is 1110Mb with 25Mb free.

Why is the cache so full and I only have 25Mb free??? I reboot the PC and for about 12 hours I have about 1Gb of free RAM to load apps with no lag time.

Noticed a few vista sidebar gadgets that apparently clear the cache but they don’t work!

Anyone …is there a way to clear vista’s cache???

I think its shadow storage that occupies or decreases your memory in vista it eats up 15 percent of hardrive

you can reduce it just follow these steps

Reviewing Shadow Copy

  1. Click StartComputer and on Local Disk (C:) you’ll see the available disk space you have left on the hard drive of your Windows Vista desktop/notebook computer.

  2. Click StartAll ProgramsAccessories.

  3. Select Command Prompt (make sure you right click on Command Prompt first, and select Run as administrator).

  4. Type in vssadmin list shadowstorage

  5. Press Enter/Return. Command Prompt will show the allocated space towards Shadow Copy. This can be reduced to allow more free hard drive space.

Reducing Hard Disk Space Allocated for Shadow Copy

  1. Exit Command Prompt and backtrack to Step 3 in Reviewing Shadow Copy. Open Command Prompt, again selecting the Run as administrator option when right-clicking.

  2. Type in vssadmin resize shadowstorage /On=C: /For=C: /Maxsize=[here add the maximum space you will allow for Shadow Sorage, e.g. 3GB].

  3. Press Enter/Return. The results will be displayed in Command Prompt.

  4. Click StartComputer and once again review the available disk space for Local Disk (C:).

A lot of forum posts says superfetch is the reason vista uses 50% of Ram (so 1 gig on mine) and they to this article even though here is says “all my memory”. Take the example of this screenshot:
Total: 2045
Cached: 1277
Free: 6

So, when it says 44%…isn’t that used by vista. That is: 802 mb(2045 - (1277 + 6))

My understanding of superfetch is that free memory decreases and cached memory increases. If a memory intensive application starts, free memory will increase.

So how much memory does vista really use? 802 mb?

Thanks All About Me for the well placed sarcasm.

Disabling SuperFetch appears to have helped some on my PC. I have a 3 GH Pentium 4 with 512 MB of Ram. Until recently it had Windows XP Professional. XP ran like a champ with Visual Studio, InterDev, PaintShop Pro, SQL, numerous IE browsers and tabs, Notepad, Outlook, and other applications running simultaneously.

After getting hit with a virus I took the “opportunity” to rebuild with Vista Ultimate. After that my PC became a fat silicon turd.

Right now I have virtually no development software installed. Admittedly, I should have read the hardware recommendations which clearly state at least 1 GB of RAM for Vista Ultimate.

Rather than repeat the symptoms many of you reading this blog are likely experiencing, I’ll just mention that task manager initially showed 88% of my Physical Memory Usage History consumed. After disabling SuperFetch and rebooting I could detect little change in that memory usage figure. Right now it’s at 79%.

Overall the PC is not as sluggish as it was before disabling SuperFetch. But, I’m experiencing issues that were not present with XP. For example Internet Explorer keeps crashing when there is virtually no load on the system. By virtually no load, I mean that I have the following windows open:
IE with 2 tabs.
Task Manager
Notepad

In the background Task Manager shows a dozen svchost.exe and about 25 other processes.

Under the pre-2000 versions of Windows I was used to intermittent application failures. They were a fact of life in the 90’s. Does anyone remember the days when you would install a program and pray that Windows would still boot up after doing so? I do, and don’t want to go back to those.

I think Microsoft has done a good job of raising the quality bar with Windows; in fact they’ve done such a good job that I now expect applications to virutally never fail because of the operating system. Of course they do, but it’s rare.

My work PC has Windows XP and simultaneously runs multiple instances and versions of Visual Studio, SQL Server, Office, and other resource intensive software. Rarely do any of those applications fail. The only time that system gets sluggish is when Norton kicks in for a system scan. For some reason Symantec has been incapable of producing a virus scanner that enables users to govern its resource use.

That’s probably what needs to happen with SuperFetch. Put an option to throttle SuperFetch at some memory percentage level. For example, if Windows wants to pre-cache, I’m willing to gamble that it will be right 50% of the time, so it can have up to 50% of my available memory. Leave the rest alone.

Unfortunately I’ll probably go back to XP Professional, at least until I get a 64 bit dual core with loads of RAM. :slight_smile:

I think this is funny. If people knew how to read this there would be no issues or fussing. Look at the graphs again at the top and then translate the information, in particular from the Windows XP claim.

DO YOUR MATHS!!

Under XP 2096620 total memory
and 1506504 free memory

so how come it has 1481992 system cache?
If you do your maths on this one then 1506504 - 1481992 = 24512

Seems to me like Windows XP is doing the same, your only really have 24MB of ram left in the example you have posted, its just windows reports it to you differently.

If you pay for 2, 3 or 4Gb of RAM why do you want so much to be free, Windows is just caching useful data in case you need it. Once you load a program that requires memory that information is unloaded and released for use by the program.

Why have all that memory and not have it used by the system.

Windows XP and Vista do basically the same thing with memory, cache previously used software, only Vista actually achieves this a lot more efficiently. XP just doesn’t own up to the fact that it is cache system information.

I find it amusing that you’d have all this memory and insist that it is free, if it is free then it’s not doing its job.

The only people who need free physical memory is gamers, but as Windows is a multi use system it can’t afford to keep memory free just in case you want to play a game.

There’s no point going back to Windows XP, it has a flawed security model and is inefficient on multi-core processors. Vista is massively more secure and uses hardware a lot more efficiently.

It’s time to put Windows XP to bed and move on unless you’ve got an older machine.

I have 4GB RAM and currentrly run Vista x32 (I will try x64 too, but i haven’t installed it yet).

Vista has only 2813MB avaialable, because its x32.

Currently I see the following values in Task Manager:

Memory-Graph: 1.39GB

Physical Memory:
Total 2813
Cached 1667
Free 0

So I think, that the 1.39GB is the memory, whicch is used by windows in the “old-fashioned” way an the other ~1.4GB are used for superfetch.

But I will disable superfetch now, because form what I read in some other comments here, this should be faster in games and games are the only tasks on my PC that need performance.

Most people so far seem to have said that disabling superFetch helps performance. Reality trumps theory. Wear and tear on the system is reduced by disabling superFetch. That’s reason enough.

Eamon, I agree there are specific narrow situations where SuperFetch is detrimental. In those cases I’ve issued a “net stop superfetch” myself.

But for typical, general use it is quite a bit faster to let the OS pull in everything it thinks you might need – put that 2 GB or 4 GB of memory to use instead of sitting idle and empty 90% of the time.

When I go back to Windows XP now it feels a lot less “snappy” as I launch apps, and I think SuperFetch is a part of that.

Here’s what I do. On every client machine with Vista, I turn off SuperFetch, ReadyBoost, Windows Search, Windows Defender, and System Restore.

Like magic, the machines run almost on par with XP. The difference is freakin’ night and day, really.

Now, this works even on machines with 2GB of RAM, so explain to me again why all of this grafted-on after-the-fact bloat crap is supposed to be GOOD for my clients?

So let mi get that straight. Microsoft decides what to cash for you IN CASE YOU MIGHT NEED IT…
These are the facts. My machine is Intel Quad core 4 gig of RAM Vista Ultimate 64 nVidia 8800GT. I play Second Life on this PC and 4 GIG of RAM is not enough?!?!
If SL is running more than 1h on this machine and I load different regions of the game the memory usage for SecondLife.exe is shooting through the roof reaching 1.8gig at times eventually Vista freezes.
This never happened on XP64 so I don’t know what Microsoft did but whatever new memory management they decided to use is total crap.

Nice Article Jeff! I really like your writing style and think the input and responses to this article have been very interesting indeed.

My thoughts…
Superfetch IMO is a very good idea but frankly it appears even if you have 4GB of ram (as I have) Superfetch will simply not ‘guess’ correctly every time. Applications start faster, but try something Superfetch does not guess correctly (in my case opening up an application I use everyday (yes every day) and my system starts to crawl.

I really like the idea of Vista using my ‘free’ ram. Why not? But somehow my real world experience is really poor management of my ‘free’ ram.

Solution?
If,if…if only we as users could simply tell Vista what apps we want to use Superfetch with (in a similar way to telling Vista or XP what app to use to open a type of file) I think that would be huge step forward. I think Superfetch and Ready boost are good ideas but it’s almost as if they are not quite ‘finished’.

As a Linux user as well, I see no system lag doing the same things using the same hardware as Vista.

TAO’s comments…

"Here’s what I do. On every client machine with Vista, I turn off SuperFetch, ReadyBoost, Windows Search, Windows Defender, and System Restore.

Like magic, the machines run almost on par with XP."

TAO is IMO absolutely SPOT ON.

That is exactly my experience. Whatever Microsofts plans were for Vista, making the tweaks that TAO and others like myself do to Vista should never result in a more reliable and/or more responsive OS.

Reliability should not be achieved by switching things off that really should be left on. It is supposed to be the other way around. Switching things off that are on by default should cause reliability issues!

Sudden system crawls and slowdowns really provide an unreliable environment for users who might use more than a few applications consistently.

I get the feeling that Microsoft designed Vista with far too much of the future in mind. I am trying to remember who from Microsoft made a comment about “PC’s being so much more powerful by the time Vista comes out”

Yes when everyone has 6gb or more of ram and Vista 64bit(based on ‘ados’ excellent post, more on that later) then it looks we will see pretty much the real Superfetch in Vista.

The time will come when you walk into a store buy a PC and the lowest base unit system has a 64 bit version of Vista with 6 - 8gb of ram. Fire it up and forget about performance issues.

By that time it’s likely Windows 7 would have been available for about a year or two. With a service pack already released. It’s just too far down the line for joe public to think about now.

He wants Superfetch on Vista 32 to work as advertised (now) with the hardware he currently has available (4gb + Quad core in my case)

I just think that Microsoft should have ‘finished’ Superfetch. It seems better in SP1 (IMO) but the system lag I experienced pre SP1 simply just took longer to show up. Maybe Vista SP3 (if there will be one)will have a further revised Superfetch that delivers on it’s promises but without having to run a 64 bit OS with 6GB + of ram.

{Back to the ‘ados’ post reference earlier}…

‘ados’ posted a superb write up on just how much ram a user may need to really see what Superfetch can do.

I really hope someone from Microsoft reads that. If you want to find that post quickly it look for a post from ados on April 5, 2008 03:45 PM

That really was a real world detailed example of how to take the guess work out of Superfetch and let it do what it was intended to do properly. Thanks for taking the time to do that ados.

The problem…

…of course is that Superfetch appears to favour users of a few apps consistently (to be fair that is Likely Microsofts main target demographic) but of course for any mid to high usage, not even very heavy usage, Superfetch fails IMO. Even with 4GB of ram on a Quad core PC (mine).

Give it enough ram and based on ados’ post Superfetch will really fly. But to expect a user to have to fork out for a 64bit version of Vista and 6GB or more of ram to really get such a potentially highly useful (as advertised) feature working to it’s optimum level, is not a realistic expectation for Microsoft to have and is somewhat different to XP in terms of what was needed to get the best our of it.

I appreciate as a business Microsoft likely wanted to focus their efforts with Superfetch on the larger part of their target market (who may have far less, if any problems with Superfetch) but that approach does not work. Let us decide what apps Superfetch is used with. That will save a good chunk of cash on additional memory (6GB+)and a copy of Vista 64 bit.

An interesting twist to my post…

I actually have a native 64 bit application (Cakewalk Sonar) that I will use on a 64 bit version of Vista.

Sonar can access up to 128 GB of ram so it will have no problems with my second upgrade…memory up to 8GB.

So in a strange way my move to 64 bit Vista (disc arrived today)is application driven and not as a result of the failings of Superfetch. I will also run some 32 bit apps on 64 bit Vista like Zynewave Podium, and Office 2007 (through WOW64) but my upgrade is really down to Sonar.

Also some other plugins I use for Music Production are starting to appear as native 64 bit plugs so I think now is a good time for me to move.

I still have another version of Vista 32 bit on a second PC that would benefit greatly from a further revised and enhanced version of Superfetch in future that hopefully will not need 6GB+ of ram to totally eliminate any issues.

Nice idea in theory but it just does not appear to be ‘finished’ yet.