Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Possible Duplicate:
Why does Windows only show about 3.5GB of my 4GB+ of RAM?

I have an Intel Core 2 Duo CPU E6550 with 4 GB of RAM. At that time, the system properties was showing RAM info as 3.25 GB on Windows XP Professional 32-bit.

Today, I upgraded the RAM from 4 GB to 8 GB. Now, I see that the system properties is reporting a decrease from 3.25 GB to 2.99 GB.

I'm aware that Windows 32-bit can only display up to 4 GB of RAM but why is it now only showing 2.99 GB?

My graphics card is an NVIDIA GeForce 7500 LE (512 MB) but I had the same card prior to the memory upgrade, and it was still showing 3.25 GB.

Can anyone tell me why it now shows 3.25 GB, especially after the upgrade?

share|improve this question

migrated from Aug 29 '11 at 3:26

This question came from our site for professional and enthusiast programmers.

marked as duplicate by Sathya Aug 29 '11 at 4:09

This question was marked as an exact duplicate of an existing question.

Why did you put 8 GB of RAM into a machine running 32-bit Windows XP, anyway? – eldarerathis Aug 29 '11 at 3:25
Hope Mike visits the question at SU. – SgtOJ Aug 29 '11 at 3:58
I realize you aren't asking the usual question here (I don't know the answer), but I'm linking Jeff Atwood's blog post on the more-general problem anyway: Dude, Where's My 4 Gigabytes of RAM? – Christopher Galpin Aug 29 '11 at 4:12
Dang... I just wasted my time with my detail answer. – SgtOJ Aug 29 '11 at 4:19
You see this question almost everyday unfortunately. Even though x64 Windows Vista/7 is the exact same price as x86 Vista/7, – surfasb Aug 29 '11 at 9:37
up vote -1 down vote accepted

First, Windows XP (32bit) only supports 4 gigs. That doesn't just apply to Windows XP. Instead, it applies to all 32bit OS. You will never see over 4 gigs if you are using a 32-bit Windows XP. However, I did find a more detail reason why your system shows less available ram than what is actually installed.

The 3GB-not-4GB RAM problem - Microsoft MSDN Blog (Source)

Due to an architectural decision made long ago, if you have 4GB of physical RAM installed, Windows is only able to report a portion of the physical 4GB of RAM (ranges from ~2.75GB to 3.5GB depending on the devices installed, motherboard's chipset & BIOS).

This behavior is due to "memory mapped IO reservations". Those reservations overlay the physical address space and mask out those physical addresses so that they cannot be used for working memory. This is independent of the OS running on the machine.

Significant chunks of address space below 4GB (the highest address accessible via 32-bit) get reserved for use by system hardware:

  • BIOS – including ACPI and legacy video support
  • PCI bus including bridges etc.
  • PCI Express support will reserve at least 256MB, up to 768MB depending on graphics card installed memory

What this means is a typical system may see between ~256MB and 1GB of address space below 4GB reserved for hardware use that the OS cannot access. Intel chipset specs are pretty good at explaining what address ranges gets reserved by default and in some cases call out that 1.5GB is always reserved and thus inaccessible to Windows.

There is more information if you check out the source. However, you may be able to take advantage of the full 8 gigs installed if you followed these instructions.

Speaking from personal experience, this is no new problem. I ran in to this same problem a few years ago when I built a 4-gig 32-bit Windows Vista system when Vista was first released. There were countless forum posts online related to this same topic.

share|improve this answer
This answer is factually wrong. PAE allows to use up to 64 GiB on a 32bit system without problem. The limitation can be due, in part, to the BIOS and its limitations and to the (intentional) crippling of the XP kernel that doesn't allow to make use of PAE features even when available hardware-side. – 0xC0000022L Mar 29 '12 at 14:29

Not the answer you're looking for? Browse other questions tagged .