9

I am attempting to install more RAM on a Windows Vista 32bit machine which is using a X6DAL-XG motherboard and the RAM amount reported in the BIOS is 3GB+, but Windows is only reporting 2GB installed. The motherboard has 6 RAM bays which I have populated with various combinations of 4 1GB sticks, and 2 512mb sticks, but no matter how I configure them Windows doesn't see more than 2GB. I realize of course 32-bit Windows has a 3gb cap on memory, but that doesn't explain why it will only report 2GB when there are in fact (currently) 5GB installed. I should think I would be able to see at least 3GB.

According to the spec list for the motherboard the minimum RAM requirements are DDR333/266mhz installed in pairs. I have done this exactly, and the BIOS isn't reporting any problems at POST.

RAM Configuration (according to CPU-Z)

  • Slot #1: PQI MD6412ROE - 512mb PC2700 (166mhz)
  • Slot #2: PQI MD6412ROE - 512mb PC2700 (166mhz)
  • Slot #3: Kingston 128mx72D266C25 - 1024mb PC2100 (133mhz)
  • Slot #4: Kingston KVR266X72RC25/1024 - 1024mb PC2100 (133mhz)
  • Slot #5: Kingston 128mx72D266C25 - 1024mb PC2100 (133mhz)
  • Slot #6: Kingston KVR266X72RC25/1024 - 1024mb PC2100 (133mhz)

I'm not sure if memory specs above conflict with this statement in the motherboard manual or not:

Memory Support

The X6DAL-XG supports up to 12GB/24GB of registered ECC DDR333/266 (PC2700/PC2100) memory. The motherboard was designed to support 4GB (PC2100) modules in each slot, but only the 2GB modules have been tested. When using registered ECC DDR333 (PC2700) memory, installing four pieces of double-banked memory or six pieces of single-banked memory is supported.

So, am I doing something wrong with the RAM I have now, or is there some sort of compatibility problem which I am missing?

Thanks!


A Few More Details

  • CPU-Z report for the machine
  • I have run some additional tests with this issue in both Ubuntu and Windows Server 2008 and they are both reporting only 2gb as well.
  • I tried fiddling with the Memory Remap feature (Enable/Disable) in my motherboard's Northbridge configuration, but did not see any results.
  • In addition to the hardware above, I have one 256mb PCI Express video card and that's it for peripherals. I do not think memory mapped I/O is the issue here.
  • I have removed the 2 512mb sticks and I'm down to just the 4 1GB sticks
  • I have flashed the motherboard BIOS to the latest manufacturer revision

Another Update

I have managed to test this hardware configuration on a 64-bit copy of Ubuntu and the RAM is being fully detected at 4gb installed, but no matter the RAM configuration I am unable to find any 32-bit OS that will read more than 2gb. So the question remains: Why can a 64-bit OS see more than 2gb of RAM while a 32-bit OS installed on the same machine is capping out at 2gb?


After Thoughts

I greatly appreciate the input from everyone however, I still do not feel there has been a correct answer to this problem yet despite all of your efforts. I did learn, thanks to @Goyuix, that I have been using a 64-bit CPU and didn't even realize it and so now at least I have an acceptable work around.

Barring some unexpected turn of events it looks like the bounty is going to be auto-credited to @Mark Booth due to the bounty expiration, which I don't necessarily mind because his answer is good; it just isn't the solution to this particular problem. (Absolutely no offense intended Mark, I really appreciate your high quality answer!)

In any case, the discussion generated by this question has been extremely informative for me (and should act as a great reference material for future searchers). The original problem has been successfully mitigated through the use of a 64-bit OS, but it still has not been solved. Unfortunately (for me), I'll never be truly content until I can pinpoint the exact problem, so if at some point in the future someone manages to think of a solution that hasn't been mentioned, please, please do post it.

Thank you everyone.

6 Answers6

9

Considering the evidence given above, the two most likely things to consider are:

  • Memory mapped hardware is limiting the memory available to a 32bit operating system.

  • Windows is artificially limiting the memory available to the operating system.

Hardware limiting

With a 32bit OS, you have 4GB of address space. Any peripherals with memory mapped IO (IO ports, network cards, graphics cards, other motherboard or add-in cards) will take up a portion (usually quite small) of that address space. Any memory used for memory mapped IO cannot be used for main memory.

The worst hogs of memory mapped IO are graphics cards. If you have two graphics cards, each with 1GB or memory, 2GB of your address space will be used up, leaving you with only 2GB of main memory, however much physical memory you have installed.

This is not a problem on a machine with a 64bit OS, since those 2GB can be mapped well away from your main memory, but on a 32bit OS, you are limited to 4GB in total (without using tricks that Microsoft have disabled in their non server 32bit OS's).

Artifical limiting

The other option is that some hardware or software set a restriction on the amount of memory available to Windows when it was isnstalled and that artificial limit is still in place, even after installing more memory.

I've never done this under Vista, but under XP you would run msconfig and look at the "Advanced Options" on the "BOOT.INI" tab. If the "/MAXMEM" was set, then XP was ignoring all memory above this.

Searching the web, it looks like you use bcdedit under Vista. A nice description of how to use it can be found here. However, as always, be sure you understand what you are doing before messing with these things.

Other possibilities, specific to server/workstation systems

Looking through the X6DAL-XG manual, I wonder if the "Memory Mirroring and Sparing" is enabled in the Bios:

Select Enabled to enable Memory RAS (-Mirroring and Sparing) to allow the system to create a mirror copy of data written to the memory for data security. The options are Disabled and Enabled.

I would guess that in memory mirroring mode, only 4 banks are used, which would explain why removing the 512MB Dimms made no difference to the memory visible to Windows.

Mark Booth
  • 2,869
3

Since you mentioned in a comment that Server 2008 is only reporting 2 GB, then something is very wrong with your configuration.

  1. What does your BIOS report for installed RAM? Does it see 4 GB?
  2. According to the manual:
    • Memory Remap must be Enabled
    • Memory Mirroring must be Disabled
  3. How are your modules installed? The manual specifies that they have to be installed in pairs, and that the paired slots are adjacent to each other. According to your post, it looks like you don't have your paired ram installed into adjacent slots. Verify the physical installation of your modules against the motherboard manual/motherboard imprinting.
  4. Have you tried each pair of 1 GB modules individually?
    • If so, test each pair with Memtest86+ to ensure that each pair works correctly.
    • If each pair checks out, try changing the order they're installed in.
afrazier
  • 23,505
2

While not solving your problem outright, it may help in diagnosing it - Have you tried running a linux live cd like Ubuntu? Ideally you should try booting both a 32bit and 64bit version - the 64bit should see the extra RAM without issue, and if it only sees two then you almost definitely have a hardware related problem. If the 32 bit linux also only sees 2GB of RAM, then as stated by Mark Booth you probably have memory mapped I/O taking up the rest.

Video cards tend to be the worst offenders in eating up available RAM, you don't happen to have two 1GB cards installed do you?

Memory Remapping

Many modern BIOS will have an option to remap the memory space to avoid MMIO issues - though this only works for 64-bit operating systems or PAE enabled systems. Check your BIOS for this setting.

http://support.microsoft.com/kb/929605

Goyuix
  • 6,607
1

If all operating systems are reporting 2GB, then the problem is probably with the motherboard.

I don't like the fact that you're using two different memory cards, even though they're installed in pairs.
I would suggest using only one kind of memory card.

According to ramshopping.com, only the KVR cards are recommended for your motherboard.
I would try to take out the two other cards, and see if the machine still boots with 2GB.
If yes, I would replace the two non-working cards by cards identical to the ones that work.

harrymc
  • 498,455
0

I don't know if this will fix the problem, but it doesn't seem like you are pairing your RAM modules correctly. According to the specs page, the pairs should be slotted next to each other as per the blue and black side by side pairs.

Your setup that you listed above doesn't seem to be following this. It's possible that this is throwing of the OS trying to read the dual channels.

th3dude
  • 9,511
0

You should check your BIOS. Many have a feature called "OS Install Mode" or some similiar name that limits the amount of RAM your operating system can see. This was required because some operating system installers would fail if too much memory was available. Turning this off should resolve.