locked
32-bit Vista cant utilize 4 GB of RAM? What is the truth? RRS feed

  • Question

  • I have an Acer Aspire 5050  2.4Ghz, nice little laptop for the price, I was not sure about the preinstalled Vista Home though, but decided to give it a try, Vista definately needs some tweaking but my experience with it is not that bad and mostly good.. However when I tried to install the manufacturer recommended amount of RAM, 4GB,(it only came with 1GB) Vista only recognised 2GB, After some research I found out that SP1 will fix that problem as well as several other issues I have been having. After installing SP1, I was pleased to see that all 4GB were there. I mentioned this to someone having simlar issues and I was told (not at this forum)that Vistas' SP1 is only a "cosmetic fix" it does not allow Vista to actually use the whole virtual 4GB, but only lets you know that it is there, so in essence buying 4 GB worth of sticks was a waste of time/money since 32-bit Vista cant use it all. I have a hard time believing this is true.  Does anyone who actually knows, have empirical evidence as to whether this is true or not, or is it a computer wives tale concocted by hearsay and opinion? I would love to read the results of any test run to establish this as fact or fiction. Would Microsoft really try to "lie" to us like that?
    This is not an opportunity to vent  on micorsoft so please dont respond with microsoft bashing comments as I am genuinely interested in knowing the truth of the 32-bit vista versus 4 GB of RAM issue.
    Thanks
    Friday, April 11, 2008 7:24 PM

All replies

  • Hanaleia

     

    Yes, it is true that Windows 32bit does not use the entire amount of RAM when 4GB of RAM is installed.

     

    In reporting the amount of installed RAM, windows has always reported the amount of RAM that is 'available' to the system, not the installed amount. The amount 'available' was always lower, because the installed 'hardware' uses part of this physical memory. This reporting process was always a source of puzzlement for users.

     

    In an effort to resolve this, Vista SP1 changes this reporting behavior and it now reports the amount of 'installed' RAM instead of the amount amount available to the system after you deduct what is used by the installed hardware.

     

    See the following links for a complete, in-depth, description of this process.

     

    Ask the Performance Team : Memory Management - Dude where's my RAM??:
    http://blogs.technet.com/askperf/archive/2007/04/13/memory-management-dude-where-s-my-ram.aspx

     

    The Old New Thing : Why can't I see all of the 4GB of RAM in my machine?:
    http://blogs.msdn.com/oldnewthing/archive/2006/08/14/699521.aspx

     

    Coding Horror: Dude, Where's My 4 Gigabytes of RAM?:
    http://www.codinghorror.com/blog/archives/000811.html

     




    Ronnie Vernon
    Microsoft MVP
    Windows Desktop Experience

    Friday, April 11, 2008 11:55 PM
    Moderator
  •  Ronnie Vernon MVP wrote:

    Hanaleia

     

    Yes, it is true that Windows 32bit does not use the entire amount of RAM when 4GB of RAM is installed.

     

    In reporting the amount of installed RAM, windows has always reported the amount of RAM that is 'available' to the system, not the installed amount. The amount 'available' was always lower, because the installed 'hardware' uses part of this physical memory. This reporting process was always a source of puzzlement for users.

     

    In an effort to resolve this, Vista SP1 changes this reporting behavior and it now reports the amount of 'installed' RAM instead of the amount amount available to the system after you deduct what is used by the installed hardware.

     

     

    So, basically Microsoft installed a "fix" to cover-up the fact that the vista system will never be able to use all the memory that people have purchased for their computer, because it is just not capable of reporting all of the added hardware and all the memory installed.

     

    Instead of a coverup why don't they just issue an official statement to all of it's customers to not waste their money purchasing more than 3 GB for their 32 bit operatng systems? 

    Wednesday, August 20, 2008 12:34 AM
  • user="TB82"

    So, basically Microsoft installed a "fix" to cover-up the fact that the vista system will never be able to use all the memory that people have purchased for their computer, because it is just not capable of reporting all of the added hardware and all the memory installed.

     

    Instead of a coverup why don't they just issue an official statement to all of it's customers to not waste their money purchasing more than 3 GB for their 32 bit operatng systems? 

     

    You really need to think a bit about what you have written before you push that 'Post' button.

     

    I think they were being more honest when they reported 'available amount of RAM' instead of 'installed amount of RAM'. If they were trying to cover anything up, they would not have been reporting 'available RAM' in the first place.

     

    Installing 4GB in a 32bit system 'does' give you more than installing 3GB. Mine shows 3.314 available where it showed 2.470 with 3GB installed.

     

    This has been common knowledge for many, many years, I think it started with Windows NT.

     

    Windows Vista SP1 includes reporting of Installed System Memory (RAM):
    http://support.microsoft.com/kb/946003/

    The system memory that is reported in the System Information dialog box in
    Windows Vista is less than you expect if 4 GB of RAM is installed:
    http://support.microsoft.com/kb/929605

     

    The Old New Thing : Why can't I see all of the 4GB of RAM in my machine?:
    http://blogs.msdn.com/oldnewthing/archive/2006/08/14/699521.aspx

     

    Windows NT recognizes only up to 64 MB RAM on some computers:
    http://support.microsoft.com/kb/117373

     

    Hope this helps.

     



    Ronnie Vernon
    Microsoft MVP
    Windows Desktop Experience

    Wednesday, August 20, 2008 1:33 AM
    Moderator
  • It's not a "Vista thing," it's not even an "MS thing."  Rather, it's an arthitectural limit of x86 (32-bit) hardware.
    Earlier this year, we had a lot of people posting "it's broken" and/or 'rant' threads (not saying that you're ranting Smile ) over at the MaxPC forums.  I wrote a nice, long, detailed reply (with charts, even!) to one of them.  Our friendly forum admin was nice enough to sticky it, and put it in the FAQ section:
    http://www.maximumpc.com/forums/viewtopic.php?t=80222 
    It's (largely) a plain-English melding of several of the same pages that others here posted links to; but, I'll still put it out there for your reading pleasure.  Smile

    Wednesday, August 20, 2008 2:34 AM
  •  TB82 wrote:

    Instead of a coverup why don't they just issue an official statement to all of it's customers to not waste their money purchasing more than 3 GB for their 32 bit operatng systems? 

     

    Because that would not be any more correct of a statement to make.  The exact amount of RAM that will go unutilized is entirely dependent on the system hardware and can range from a mere 400MB to as much as 2GB, meaning it would be a waste of money to even purchase 3GB in many cases.

     

    Since it is entirely dependent on the system hardware, Microsoft is not really in the best position to inform consumers about it.  The only companies who know just how much memory will go unutilized due to hardware resource requirements are the hardware and computer companies.  Nevertheless, Microsoft has been informing people of this limitation in KB articles for at least three years now, in addition to dozens of articles or informational pieces published across the web for at least as long by numerous parties.

     

     Alexander Sklar - Microsoft wrote:

    A 32-bit process can only address 4 GB of virtual memory at any given time.  Let's say you have 4 GB of physical RAM and that you have a certain hardware device which needs to map 1 GB into kernel memory.  That means that even though you have the 4GBs, you can't address them since 1 GB is actually a device resource.  This is not a Vista issue, but a limitation of the x86 architecture.  To overcome this limitation, Windows supports a feature called Page Address Extension.

     

    This has nothing to do with virtual memory.  Its a physical addressing limit.  PAE doesn't belong in this discussion either, since Microsoft hard-limited the PAE kernel for its 32-bit consumer and base server operating systems to a maximum 4GB physical RAM.  Only select MS 32-bit SERVER OS editions support larger physical addressing via PAE, such as datacenter and enterprise editions.

    Wednesday, August 20, 2008 9:13 PM
  • A much deserved lashing!  Lemme say it for you:  don't be such a rookie tb!

     

    Okay, since SP1 is mostly going to not show how much of your installed memory is usable, is there somewhere in Vista that shows what is usable so that memory can be swapped between PCs to make more efficient use of it?

    Wednesday, August 20, 2008 9:55 PM
  • TB82:

     

    Yes, there are several places the system reports Available RAM rather than Installed RAM.  It's documented in the KB about this linked above:

     

    Windows Vista SP1 includes reporting of Installed System Memory (RAM):
    http://support.microsoft.com/kb/946003/

     

    Additionally, the System Information tool (Msinfo32.exe) now displays the following entries on the System Summary page:

    Installed Physical Memory (RAM)
    Total Physical Memory

    Available Physical Memory

    The installation of Windows Vista SP1 will not change the reporting in the following diagnostic tools:
    The Performance tab in Task Manager
    WinVer
    DirectX Diagnostic Tool (DXDiag.exe)

     

    Hope this helps!

    jg

    Wednesday, August 20, 2008 11:38 PM
  •  Alexander Sklar - Microsoft wrote:

    TB82,

     

    Vista does support PAE, see for example http://msdn.microsoft.com/en-us/library/aa366796(VS.85).aspx

    You need to enable PAE in order to see "past" the 4GB barrier, since some of the devices will map into that area. That is the reason you don't see the full 4GB.

    Raymond Chen's blog http://blogs.msdn.com/oldnewthing/archive/2006/08/14/699521.aspx explains this in more detail.

     

    Of course Vista supports PAE, so does Windows XP.  With or without PAE, the kernel is still hard-limited to 4GB physical memory on both Vista and XP.  Vista has the exact same limit as Windows XP.

     

    The Raymond Chen blog specifically involves a customer's inquiry regarding a SERVER operating system:

     

    "Even though the server has 4GB of physical memory..."

     

    Select MS server operating systems can support more than 4GB physical memory via PAE because Microsoft hard-limited the PAE kernel in those operating systems to some amount which is greater than 4GB.  For example, Windows Server 2003 Enterprise Edition supports up to 64GB RAM via PAE, depending on the Service Pack and Release Version.  Other editions of Windows Server 2003 support only a maximum of 2GB or 4GB, because that is the artificial cap that Microsoft imposed on the kernel of those editions, with or without PAE.

     

    Similarly, Windows XP and Vista are artificially capped at a maximum of 4GB, with or without PAE.  PAE is still required to implement hardware DEP and in fact is enabled by default on all systems that support hardware DEP:

     

    Memory Limits for Windows Releases

     

    Unfortunately, Microsoft's documentation on PAE support in Windows was created before the decision to hard-limit physical memory under PAE mode to 4GB max. on Windows XP as of Service Pack 2, since carried forward to all 32-bit editions of Windows Vista, and has not been updated cohesively to reflect current art.

    Thursday, August 21, 2008 3:33 AM
  •  tcsenter wrote:
    ...Similarly, Windows XP and Vista are artificially capped at a maximum of 4GB, with or without PAE. ...
    I'm curious as to your source.
    While, yes, PAE can expand addressable memory beyond the mathematical limit imposed by the 32-bit architecture, it also requires PAE-aware drivers (which are, well, short in supply for desktop hardware.)
    So, even if MS hard-coded a 4GB RAM limit into the OS, I'd have to say that they had good reasons (such as reducing support costs, due to dodgy/inadequate/non-existant PAE-aware drivers) for doing so.
    The article that I linked to earlier (yes, I wrote the sticky; no, I'm not trying to toot my own horn...) even has a pretty chart (sourced from, IIRC, codinghorror.com) that helps to explain it.

    Thursday, August 21, 2008 3:54 AM
  •  

    So if you already know that PAE will do nothing to work-around the less-than-4GB limit on 32-bit XP and Vista (as well as entry-level server editions), what information source are you curious about?

     

    Microsoft explains in it several KB or other articles under sections like "PAE-induced driver issues", stating something to the effect of MS 'modified the PAE kernel as of Service Pack 2 for XP to limit those OS to 4GB max physical RAM.'

    Sunday, August 24, 2008 7:16 AM
  • It was your choice of the word "artificially" that made me say that.
    But, what you just stated puts it (RAM and PAE limits) to be very intentional, and done with a very good reason.
    I would take "artificically capped" to mean that the OS really would have no problem running the feature; it was simply capped/removed for marketing reasons.
    Of course, those reasons would not apply to, say XP Pro, Vista Enterprise, or Vista Ultimate.....

    Sunday, August 24, 2008 9:31 PM
  •  

    Oh its an artificial cap.  I didn't imply it was for marketing reasons, although it is certainly done for product segmentation or positioning in server arena.  Done for marketing reasons would be better implied by "arbitrary" rather than artificial.  e.g. it is entirely arbitrary that Microsoft decided some 32-bit Server 2003/2008 editions should be limited to 2GB, 4GB, or 8GB while other editions of the same server OS should support 32GB, 64GB, or 128GB, and it just so happens the latter editions cost hugely more than the former editions.

     

    The expressed purpose of PAE is to make use of physical address space beyond 4GB on 32-bit hardware and operating systems.  It takes some additional effort to take PAE and turn it into something it was not developed for in the first place (to add information into a physical address for implementing hardware DEP, hot-add memory, and NUMA).

    Sunday, August 24, 2008 10:35 PM
  • OK.  In the Server arena, I'll agree:  the caps are artificial, arbitrary, and done entirely for marketing reasons.
    But, since we really should be limiting the discussion here to desktop OS'es, we really shouldn't even bring that up.
    The PAE cap for Vista (just as for XP) is A Good Thing (tm), because, well, PAE driver support for the desktop OS'es sucks.  Unless that changes (and, I don't think that it ever will, now that 64-bit is starting to get a little steam going, however slowly), it's just going to be how things are.

     

     

    Monday, August 25, 2008 3:18 AM
  •  

    Point being, no matter the purpose, it is indeed an artificial cap.  Whether or not it may also have been arbitrary is besides the point.  I stated artificial, not arbitary.

     

    However, it was an arbitrary decision for Microsoft to completely disallow access to the uncrippled PAE kernel behavior by those with the technical competence to work through any PAE-induced driver issues.  There is no reason Microsoft could not have left us some magic boot parameter such as /enableuncrippledPAE that would have enabled full PAE goodness, with conspicuous disclosure that it is unsupported by Microsoft and anyone who attempts to obtain support for any problems while using this configuration may be called bad names and summarily dismissed.

     

    Although many have forgotten about it, Microsoft was preparing to make a go of Windows XP 64-bit right around the same 2002~2003 timeframe it would have made the decision to cripple PAE in 32-bit XP as of SP2 in 2004.  So it may not have been completely about driver issues, either.  With XP 64-bit on the way, it would have been tempting for internal discussions to take the tack of "let them use XP 64-bit if they want extended physical address space."

     

     

    Monday, August 25, 2008 7:20 AM