10
Dec
2008



Bookmark and Share

Following an article I  wrote some time ago I would like to give credit to a Web Talk’s reader explaining in a very comprehensive way, why there isn’t any trick to enable 4 GB of RAM in Windows Vista due to Vista 32-bit  architecture. Here is his interesting comment regarding this controversial subject.

There’s no 3GB limit in Vista.

You can only address 4GB in a 32-bit architecture, the end.

Vista SP0 shows available system RAM, not total RAM installed. Since some of the RAM is required for the hardware to work (I’m not just talking about on-board video either) some of it is used before the OS gets it, hence the 3.XXGB count. Normally this chunk of hardware-used RAM would be dynamically allocated (so it moves around). This causes it to all appear to the OS as usable (even though it really isn’t).

Since 4GB is the limit in 32-bit, the architecture decides that since you can’t possibly have any more than the 4GB you have, it’s more efficient to statically allocate the RAM used by the hardware before any OS starts. This causes it to (correctly) appear as non-usable. Sp1 ‘fixed’ it by showing the total amount of RAM installed instead of the Usable RAM available; mostly because they were sick of people crying that Windows was stealing their RAM and having to explain over and over how it’s not. The x86 Intel chips (most since the Pentium Pro) actually have 36-bit addressing in them (allowing 64GB of addressable space), so you can use the /PAE switch to tell Windows to use that special mode. This doesn’t actually give you more than 4GB, what it does is gets windows to use all the RAM for mapping 4GB sections of it for each process, so it appears that all the RAM is ‘usable’. Each process is still limited to 4GB each, with a total of all mapped areas not being more than total installed RAM (obviously), minus what the hardware is using. This is how Windows 2000+ “Server “Datacenter” versions access 64GB on 32-bit processors, and have for years.

In the end, regardless of whether you have 32 or 64-bit, if you only have 4GB of RAM you’re only actually going to have 3.XX available to you, PAE or not. So turning on PAE in a system with only 4GB is not only pointless, it will actually slow down Windows as it’s now dealing with additional memory mapping routines that it wouldn’t normally do.

But if you REALLY want to see you 4GB number, just go into your BIOS and look at it, and then smile because you’re so cool.

Techie007




Related Articles Latest Articles
.

5 Comments to “Enabling more than 4 GB of RAM in Vista: Myth or truth?”

  1. 32bit OS not recognising RAM greater than 4GB?? - Page 3 Says:

    […] allow you to use up to 4GB of memory (the upper limit in XP Pro). not even gonna explain it. http://www.webtlk.com/2008/12/10/ena…myth-or-truth/ __________________ Intel Q6600 @ 3.00 Ghz COOLER MASTER RL-EUL-GBU1-GP Watercooling ASUS P5Q SE […]

  2. Web Talk Says:

    Thanks Larry for your interesting comment. The topic is quite old but what it stirrs and arises continue to be quite….fresh! May be Windows 7 is going to solve this issue?

  3. Larry Miller Says:

    The article is quite good but has some errors. The entire 4GB RAM is not useable because the address space must be shared by memory mapped hardware devices. The devices themselves use very little memory.

    All modern intel processors have 36 address lines, allowing access to 64GB of RAM. PAE allows access to RAM beyond 4GB, but only in server systems. In client systems maximum RAM is limited to 4GB.

    There is nothing unusual about how RAM above 4GB is used. All processes see a 4GB virtual address space. The lower 2GB is private to each process while the upper 2GB is reserved for system use. Each process has it’s own private 2GB space. Note: this address space is virtual and is completely independent of the amount of RAM in the system.

    RAM is mapped into a processes virtual space as needed. The method is the same for any section of RAM, above or below 4GB. PAE changes some of the details but the basic principles remain the same. When PAE is enabled it is always used, even for RAM below 4GB.

    Larry Miller
    Microsoft MCSA

  4. Web Talk Says:

    Hello techie007,
    You are right, you should have provided real infos but as you see I posted your nickname under your comment! If you are going to write a comment which is, let’s say, more than 10 lines long, I advice you to use the “Submit” link. Your comment will become a post entry! This advice is also true for all Web Talk’s readers. By the way, Nice comment! 😉

  5. 3GB limit my butt. Says:

    Cool I made it to a new blog entry! 🙂 I guess I should’ve used some real information. 😉

    Anyhow, thanks for enjoying my explanation, hopefully it helps clear up some of the mystery. Even though this is an aging subject by now it still seems to keep cropping up — i.e: the new “Tweak UI” for Vista seems to use this PAE fake out to “allow more than 4GB”, which is what (somehow) led me to surf into this blog earlier today. 🙂

    techie007 aka “3GB limit my butt.”


Copyright © 2007-2017 | Sitemap | Privacy | Back To Top
Best screen resolution 1280x800 or higher.
Web Talk is best viewed in Firefox.

Stat