DK8X only finds 3.2GB out of 4GB of RAM

wazoo42

Gawd
Joined
May 16, 2002
Messages
938
I have 8x512MB of corsair low latency pc-3200 reg/ecc ram so it should show up as 4096MB. During post the first ram count shows 4096MB, but the second (nvram?) only shows 3230MB. When I go into the bios it only shows 3230MB as well. When I boot into windows xp 64bit or suse 9.2 pro 64bit it only shows 3230MB as well. I have the latest bios. The ram works fine for 2GB or 3GB, and for 3GB it works equally well if I have 4 filled dimms on one proc and 2 on the other or vice versa (ie it doesn't appear to be a ram or processor problem). Any ideas?
 
It's probably caused by 32-bit devices sucking up part of the address space.
A couple things you can try-
1. Look around in the bios for any "memory mapping" type options. They could have unintuative names.
2. There's a /PAE switch you can put in boot.ini. Might help Windows, might not.
3. Try turning on Plug & Play OS in the bios if it's not on already. You might have some 64-bit addressing capable devices being mapped into the first 4GB. Probably won't help w/ Windows, but it might do 64-bit Linux some good.
 
Thanks I will give those a try. I did try turning on/off MTRR, but it didn't make a difference.
 
wazoo42 said:
I have 8x512MB of corsair low latency pc-3200 reg/ecc ram so it should show up as 4096MB. During post the first ram count shows 4096MB, but the second (nvram?) only shows 3230MB. When I go into the bios it only shows 3230MB as well. When I boot into windows xp 64bit or suse 9.2 pro 64bit it only shows 3230MB as well. I have the latest bios. The ram works fine for 2GB or 3GB, and for 3GB it works equally well if I have 4 filled dimms on one proc and 2 on the other or vice versa (ie it doesn't appear to be a ram or processor problem). Any ideas?
Your video card is sucking it up. Thems the breaks. We deal with it all the time at BOXX.
 
I don't understand, how can the video card control the amount of memory the bios sees?
 
Did you try IWILL support?

I'd appreciate a heads up if you figure out what is causing this.

Also: Did you reduce your agp aperature size as small as possible?

Thanks,

Rob
 
I did send an email to iwill tech support. I haven't tried changing the agp size, I will do that.
 
zandor said:
It's probably caused by 32-bit devices sucking up part of the address space.
A couple things you can try-
1. Look around in the bios for any "memory mapping" type options. They could have unintuative names.
2. There's a /PAE switch you can put in boot.ini. Might help Windows, might not.
3. Try turning on Plug & Play OS in the bios if it's not on already. You might have some 64-bit addressing capable devices being mapped into the first 4GB. Probably won't help w/ Windows, but it might do 64-bit Linux some good.


My first thoughts included most of that, but then I realised that if his BIOS is only seeing the reduced amount, then nothing done with regards to the OS config will matter. It does sound like the BIOS is reserving some of the address space for device mappings. Hopefully IWill can answer the question. I'm curious now just for the sake of wondering what's up with that.
 
Ok, there's a lot of spinning wheels in here, lemme see if I can clarify.

Windows, be it 32-bit or 64-bit (from my understanding, and only for 32-bit compatibility sake), is mapping option ROM from 4GB down. Memory mapping is a flat space, from 0 -> 4GB, regardless of the amount of RAM you have installed. If you have less than 4GB, that option ROM is starting from 4GB VIRTUAL space, and mapping down. That's why you don't see missing memory when you only have 3GB installed. At some point that will overlap if you have a lot of memory. You can reduce this some of the time by reducing the AGP aperature, but you run the risk of degrading video card performance.

This will ALWAYS be an issue with 32-bit Windows and is currently an issue with Windows 64 as they are trying to maintain 32-bit compatability. It will most likely require a BIOS update when Win64 is widely available to fix this (and then still it'll only fix it in 64-bit OSs).

We focus on dual processor workstations with large amounts of RAM, we have specifically sold machines with DK8X boards (our 3DBOXX 81xx series), and try to make our customers aware of this anomaly.

Chris Morley
BOXX Engineer
Validation/Support
 
I was wrong before when I said that the MTRR option didn't do anything. If I set it to discrete the bios says I have 65000MB of RAM and both os's choke (hang during bootup). If I set it to continuous the bios says I have 3230MB and everything is cool. My AGP is set to 128MB and changing this changes the available memory as would be predicted, so no miracles there.
 
Try the /PAE boot option, just for shits and giggles. I doubt it will do anything because the BIOS is seeing the reduced amount of RAM, but it's worth a try.
 
*edit*
misunderstood, that "missing" space is reserved for 32 bit addressing for your pci cards and devices in the system. Being as pci is 32 bit, it can only address up to memory address of 4GB or lower. You are not seeing anything unusual.

This post on msdn has a better description of what's going on, i just summarized.

http://channel9.msdn.com/ShowPost.aspx?PostID=42545
 
I tried /PAE, but as expected it didn't have any effect. It looks like the only solution would be a bios update.
 
wazoo42 said:
I tried /PAE, but as expected it didn't have any effect. It looks like the only solution would be a bios update.
Remember, it won't fix it in 32-bit Windows.
 
PAE is not the issue. PAE allows a system to work with up to 64GB of ram if the processor supports the /PAE option. You have 32bit pci devices in your system, 32bit devices can only access memory spaces up to 2^32bytes, 4294967296, or 4GB, therefore they MUST be able to have DMA access with in that 4GB range. the "Missing" ram you are having is the DMA mappings for your 32 bit pci devices. It won't change, it's a limitation on current systems. The only PCI devices capabale of going past the 4GB barrier are 64 bit devices. You'll have to learn to live with the limitation as far as I know. I've not seen articles or posts stated otherwise that are contrary.

If i'm wrong about the pci mapping, someone let me know, i'd rather have correct information.
 
Just as a curious bystander, could he hypothetically remove all the PCI cards from his system and get 4gb of ram, or does the fact that there are PCI slots at all preclude this?
 
unhappy_mage said:
Just as a curious bystander, could he hypothetically remove all the PCI cards from his system and get 4gb of ram, or does the fact that there are PCI slots at all preclude this?
The video card is the biggest culprit.
 
I will try taking out my sound card and see what happens. I only have an audigy2 zs and a 6800gt.
 
I imagine most of the onboard stuff is on the PCI bus too, isn't it ? 1394, ide, sata, etc....(actually I think sata might be on the 64-bit bus on that board. The manual for mine is at home at the moment)

CB
 
I wasn't too sure of that one, the diagrams always show those hanging off of the 8111 chipset along with the 32bit pci slots so I don't know if they are linked or not.
 
If you think this is bad, I managed to get my Iwill DK8N down to 1.9GB by setting a 512MB AGP aperture. I've only got 2GB ram so far, so you'd think I wouldn't have this sort of problem.

Iwill DK8N
6800GT 256MB w/ 512MB aperture
5200 PCI 128MB
LSI logic u320 dual channel scsi
SB Audigy 2 zs.
 
I'm not sure what's going on with aperature size changing ram available. No matter what size I set my aperature to i get 2gigs available in windows (only 2gig installed on a thunder k8w).


I did some reading on MSDN and picked up a few bits of info.
1.) windows is designed so that no matter how little memory you have in the system it has 4 gigs to access, mainly for most it's virtual memory.

So my guess on a system with lesser amounts of ram the pci memory addressing still occupies that 3.5-4GB range but it's not an issue because it's only working from virtual mem addresses instead of phys mem. There are also switches built into windows during boot that be tweaked to change the ram size addressable to a program default is like 2gig, but it can be set to 3, or even less for 1.

You're pretty much going to have to learn to live with that hole from what it sounds like. Sucks, but, not much you can do really from what i've been reading.
 
Thanks for all of the great explanations. Now this has me curious if anything will change with pci-e. Also, why couldn't there be an extra chip (on the mobo or integrated into the chipset) which spoofs the memory mapping for pci devices so this doesn't have to be an issue? Have I grossly oversimplified the problem in thinking this way?
 
I set my agp size down to 32MB so my system is up to 3.4GB or RAM. I think this is the best I am going to do on this mobo. I was amazed when I set the AGP up to 512MB I only had 2.4GB or ram left, yikes.
 
I *think* the rest goes into pci tables, same thing happens with my opteron system, cept different mobos suck up different amounts of RAM. My mobo detects 4 gig in POST, then when it goes to memory testing it jumps down to 3.15gig.
 
I wonder if this whole problem can be avoided if you turned off all onboard pci devices and used a 64-bit scsi/sata controller for storage and and agp/pci-e video card and a 64-bit NIC

Anyone tried this ?

I'd love to, but I don't have 4GB ram :) I have all 3 of other things though.

Rob
 
you'd have to turn off your agp too, so no video. As far as I know there is no way around it.
 
Not to mention that it's the 'bitness' of the OS and drivers, not the devices, that matters.
 
So are you saying that in a 64-bit OS, you can get around 32-bit pci card limitations?

Rob
 
Robstar said:
So are you saying that in a 64-bit OS, you can get around 32-bit pci card limitations?

Rob

Yes, in that the OS will map and use more than 4 gigabytes. The PCI tables can be mapped below 4 Gig if need be, and the OS/Applications can then address the additional memory at higher addresses.
 
I'm not absolutly sure its an OS issue. My old MSI k8t mobo used to detect 4gb in the first line of POST, but used to memory test 3.5gb only
 
It's most likely a hardware isssue. No matter how you do it, 32 bit hardware cannot address above the 4 gig barrier. It's just limited that way. As long as you have any 32 bit hardware, be it onboard ide or agp, even with 64 bit drivers, you will probably still be limited by the hardware.
 
Yes, this is what I figured.

This is why I wondered if by disabling onboard everything and simply using 64 bit pci or pci-x cards, could you get around this 4GB limitation ?(assuming 64 bit processor and OS)

Rob
 
Robstar said:
Yes, this is what I figured.

This is why I wondered if by disabling onboard everything and simply using 64 bit pci or pci-x cards, could you get around this 4GB limitation ?(assuming 64 bit processor and OS)

Rob

If you are running a 64 bit OS it won't matter, you won't have to disable anything. The OS will simply map around any < 4 gig addresses needed by your hardware.
 
titanwu at iwill sent me a good ppt presentation with pictures illustrating the problem as you have described it. I will post them if I figure out a place to host them (I think my ISP gave me some space).
 
defakto said:
It's most likely a hardware isssue. No matter how you do it, 32 bit hardware cannot address above the 4 gig barrier. It's just limited that way. As long as you have any 32 bit hardware, be it onboard ide or agp, even with 64 bit drivers, you will probably still be limited by the hardware.
the OS could map the RAM from 3.5-4GB to a higher address space and let that be 'reserved' for 64bit compatible apps/ OS stuff .. see the iwill presentation for that too..

then again, who'd ever need more than 640KB of Ram anyway ;)
 
Back
Top