Why does my sytem only uses 3.2GB of my 4GM RAM?

Solution 1:

It's your motherboard that's limiting the available RAM (more precisely it's the Intel 945G chipset).

From Gigabyte:

Memory

  1. 2 x 1.8V DDR2 DIMM sockets supporting up to 4 GB of system memory

  2. Dual channel memory architecture

  3. Support for DDR2 667/533/400 MHz memory modules (Go to GIGABYTE's website for the latest memory support list.)

* Due to standard PC architecture, a certain amount of memory is reserved for system usage and therefore the actual memory size is less than the stated amount.

What I'm about to put here is based on personal discussions with Intel technicians about this issue:

Since the chipset can only access 4GB of RAM at most, and you have 4GB installed, the chipset statically maps the I/O devices instead of dynamically mapping them (as it's faster to have it mapped statically). This makes these RAM addresses invisible to the OS, as it's never going to be available.

When the system has less than 4GB installed the chipset dynamically maps the I/O instead, so that it can ensure the most amount of installed RAM is available at any time.

To do this, they need to make all the installed RAM visible to the OS so that it can access any potentially available RAM addresses, regardless of where the I/O is mapped at that point in time.

Since the chipset has to keep track of where the I/O is mapped dynamically, this is slightly slower.

This was a decision made by the Intel design team to ensure top overall 'performance' in both fully populated and partially populated configurations.

To get 'all you RAM' visible, you'll need to find a motherboard with a chipset that supports your 64-bit CPU, and allows more than 4GB of RAM.

Something with an Intel G965 chipset would probably be your best bet. Perhaps the Intel DQ965GF, we used a ton of these and it was a good board. It's slightly outdated these days, but probably still available (as probably are other makes and models with the G965 chipset).

Hope that helps...

Solution 2:

The most likely reason is that the system BIOS won't allow it. There are several things you can try:

  1. Update the BIOS
  2. Look for settings in the BIOS that relate to memory map functionality and change them (one at a time, and only after researching what they mean)
  3. Contact the system vendor

EDIT: Based on your new information about the type of system, I was able to download the motherboard manual from Gigabyte. Unfortunately, it doesn't look like there are any promising settings (some BIOSes have the ability to hide memory above 3.X GB or play other tricky games). There is only one setting that I could see that relates to 64bit: HPET Mode. You might check try changing it to 64bit just in case it adjusts the memory available to the system in addition to changing the CPU timer, but I doubt it is going to make a difference. The website for this motherboard shows that the max supported is 4GB, and has a little note about reserving some for the system, so you might just be out of luck with getting more than what you are seeing.

Solution 3:

In depth explanation here

http://www.asisupport.com/ts_4GB_memory_info.htm

If the page does not load, see Google's cache of it here http://webcache.googleusercontent.com/search?q=cache:vLYtmlOoQIsJ:www.asisupport.com/ts_4GB_memory_info.htm+asisupport.com/ts_4GB_memory_info.htm&cd=1&hl=en&ct=clnk&gl=us

.

Solution 4:

The <4GB of RAM problem isn't just operating system related.

It could simply be that while the processor and operating system may support more than 4GB of ram the manufacturer of the motherboard did not see it worth the time/effort/cost to connect up enough of the address lines between the processor and memory controller to enable use of more than 4GB of memory.

This gives the same net effect as running a 32 bit operating system but on a 64-bit system, the processor, unable to physically USE any address above 4GB for other hardware or memory devices or even request the memory controller to map up to another address will be forced to kill some of the available memory in favor of things like the graphics card.

This is basically the same problem as with a 32-bit OS, but limited in hardware rather than software. It is more likely to affect slightly older hardware where 4GB would be considered "more than plenty"...

I've seen a number of items about this on the internet where hardware is emulating the 32-bit limit, here, a Dell 530 laptop has the same problem, here, a 945 chipset system with Win7 64, and basically all over the internet.

It's not an easy one to fix, or even one that makes a lot of sense, but it basically boils down to old hardware not being made to physically support what you are asking it to do...

It could be that the BIOS update that you have found might fix the problem, but I wouldn't count on it I'm afraid.