Up until Service Pack 1 for Vista was released, Windows would report the amount of *usable* physical memory in the System Properties dialog box. This would be the amount of memory that Windows could actually see and use on the system, and until people started installing 4GB or more, this would almost always equal the amount of memory that was physically installed. However, when 4GB or more is installed the PC motherboard chipset must either disable or remap most of the RAM that falls in the 4th gigabyte of address space, since other system hardware is already using that space. With most of the RAM in the 4th gigabyte disabled, Windows cannot see it and would therefore report only about 3GB to 3.5GB total memory. Microsoft began to receive numerous questions about this, and in response they wrote several articles trying to explain that this behavior was normal:
I also wrote a detailed post about this, including a diagram showing where the disabled or remapped memory was located in the address space:
Most likely as a fallout from all of the questions Microsoft must have received on the subject, Windows Vista was recently changed to effectively hide or mask this issue. More specifically Microsoft changed the System Properties dialog box in Vista SP1 and later to report the amount of *installed* physical memory instead of the amount of *usable* physical memory, as was reported in pre-SP1 Vista as well as all versions of XP:
Note that this is only a change in what is
reported, and does not in any way change how much memory Windows can actually see and/or use, which remains the same as before. For those who wish to see a more honest, accurate and detailed reporting of memory, I recommend using the following Windows diagnostic tools instead:
- The Performance tab in the Task Manager (TaskMgr.exe)
- The WinVer command (WinVer.exe)
- The DirectX Diagnostic Tool (DXDiag.exe)
- The System Information Tool (MSinfo32.exe)
For more information on what is reported by some of these tools (and why it can vary from tool to tool), see the following article:
Bottom line: When running 32-bit versions of Windows, if you have 4GB or more RAM installed, Windows will only be able to see and use from 3GB to 3.5GB total, with the precise amount depending on the specific hardware involved. This behavior is entirely normal and expected. If however, your motherboard supports remapping the memory (
and you have the remap enabled in the BIOS Setup),
and you install a 64-bit version of Windows, then the otherwise missing memory will be both visible and usable to Windows.
In addition to the reporting issue, there have been other problems with Windows and large amounts of RAM, as seen in the following articles:
Most of these are fixed by various Updates, Hotfixes, or Service Packs, while some have work-arounds. Scott.