Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have set up Windows 7 Ultimate 64-bit on my PC. I have 4GB RAM and my BIOS states the correct amount (4096MB), but Windows (System Manager) says I have 4.00GB (3.25GB usable).

This seems to be a popular issue, and I have looked for an integrated video card (integrated with my chipset) to disable but haven't found anything.

What else can be preventing me from seeing all 4GB? When I had Vista 32-bit, it would say 3.25GB RAM not 4.00GB (3.25GB usable). I have a 64-bit CPU and when I bought my RAM, I used a compatibility tool from Crucial (the memory vendor) to test how much memory my PC can support and 4GB was the answer (this was a Windows app I think).

Chipset is Intel(R) G33/G31/P35/P31 Express Chipset PCI Express

In the BIOS, I looked for an onboard video card (integrated) and there was no such thing, but a couple of other onboard devices. There are also no "Resource Mappings" settings.

FURTHER DETAILS:

Chipset
North Bridge: Intel Bearlake G33
South Bridge: Intel 82801IR ICH9R

Maximum Memory Amount   8 GB

Graphics Controller Type    Intel GMA 3100 (Enabled)

I guess the first thing is, how do I disable the graphics controller?

EDIT: This thread indicates the issue is with memory mapped devices, but someone on this thread says that does not apply to 64-bit. The rest of the comments points to a motherboard issue for the guy who started that thread.

share|improve this question
    
The Intel GMA 3100 can address up to 384MB of system RAM for video memory. –  Molly7244 Dec 10 '09 at 1:38
    
After some more thought, I'd recommend removing 2GB RAM so you have a total of 2GB in. If i'm thinking correctly, if .75GB is really being used by the video memory or something else, 1.25GB should show usable. –  Will Eddins Dec 11 '09 at 19:02
add comment

6 Answers

Go into the BIOS, under CHIPSET then go to MEMORY HOLE MAPPING and enable it them save setting to CMOS and reboot. Also go to MSCONfIG BOOT TAB and mke sure MAXIMUM MEMORY is UNCHECKED. That should fix this issue. It fixed it on my Gateway desktop. Hope this helps. (Added by Motodude)

I would see if your BIOS has an "Integrated Peripherals" section. My understanding is that memory mapped devices in x64 operating systems can occupy address ranges outside of your System RAM.

Integrated graphics can and usually does eat into system RAM, though...as it represents actual memory needs. 768MB is a lot, though.

I use Win7 x64 and I have 8GB addressable out of 8GB. Does the system manager say "64 bit operating system" anywhere under how much RAM it shows installed? (My computer, properties). If it doesn't, you could be using the x86 version and not the x86-64 version.

share|improve this answer
    
I'm pretty sure that your issue is the graphics reserving RAM. You'll need to find a way to disable it, and if is a major OEM system you may not be able to entirely disable it. –  Stephen Dec 10 '09 at 2:21
add comment

Run MSCONFIG, open the Boot tab, click Advanced Options, make sure that Maximum Memory is not capped.

alt text

share|improve this answer
    
I've checked this. Max memory is not checked and thus greyed and set to 0. –  dotnetdev Dec 10 '09 at 1:28
    
check it then and set the maximum memory to 3712 (4096 minus the 384 MB you need for the Intel GMA). but if the chipset reserves 768 MB RAM (which explains the 3.25 GB) for shared video memory, you may run into trouble. you'll have to revert the setting in safe mode. –  Molly7244 Dec 10 '09 at 1:45
    
+1 My max memory was set to 4095 but that gave me only 3.25GB usable. –  Jon-Eric Dec 20 '09 at 23:03
add comment

Look in your BIOS and see if there a setting for something like "Memory Remap" or "Memory Hole"? If so it should be enabled.

What is going on (if this is the case) is that PCI devices need address space below 4GB. The setting will some of your RAM to address space above 4GB so it is still accessible.

share|improve this answer
add comment

On Windows, the missing RAM is used by memory mapped device. See this blog entry for details.

share|improve this answer
2  
This only applies if running a 32-bit operating system, since only 4GB memory is addressable between all devices. If he really is running x64, this wouldn't be the case. –  Will Eddins Dec 10 '09 at 0:05
    
You right. Read too fast. –  Laurent Etiemble Dec 10 '09 at 9:10
add comment

Deactivating Memory Remapping in the Bios is what did it for me.

share|improve this answer
    
My BIOS doesn't have this option :( It thus seems like I have 2 choices - BIOS upgrade/flash, and if that fails, mobo upgrade. –  dotnetdev Dec 12 '09 at 17:01
add comment

First, double check you're really running 64-bit right now. Bring up System Properties by either Right Clicking on "Computer" and clicking Properties, or by pressing the Windows Key + Pause/Break.

Make sure it says 64-bit Operating System:

System Properties

Even though you have a 64-bit processor, you must also install the 64-bit version of the operating system.

Secondly, for your memory testing application, you need to make sure you are using the 64-bit version of the application. If you're running a 32-bit application, it may only be able to recognize up to 4 GB of RAM.

Considering you've already checked the Chipset to make sure it supports 8GB, it sounds like the problem here must be that you're actually running a 32-bit version of the OS. In a 32-bit OS, only 4GB total memory would be recognized, including memory used by the Chipset and Video controllers. The result is usually somewhere between 3.0 and 3.5GB RAM usable in Windows.

The last thing I can recommend is a BIOS upgrade and checking for any settings that could be limiting the amount of RAM in use.

share|improve this answer
    
OP does not claim to have 8GB, only that the machine is capable of that. He has 4, Windows sees 4 but oly allows access to 3.25. This is definitely something to do with address space being reserved to map to other devices, although if not the graphics card I am not sure what. –  AdamV Dec 11 '09 at 9:54
    
I agree since he has integrated graphics, this would account for part of it. But I can't imagine what else is grabbing the other half of the chunk. In 32-bit, the memory allocated to the chipset and whatnot take away from the 4GB max, but in 64-bit, this wouldn't apply. I realize a lot of this answer is irrelevant since he proved he's running 64-bit, but it's only made stranger by the fact that the problem ends up looking identical to the 32-bit/4GB problem. –  Will Eddins Dec 11 '09 at 18:59
    
I have a dedicated vid card too, so want to scrap the integrated one altogether. How can I find out which devices are using memory? –  dotnetdev Dec 13 '09 at 1:56
    
An integrated video card is the only thing I know of that would directly reserve RAM like that. The issue on a 32-bit machine is that there isn't enough memory addresses to assign to all the other devices (audio, BIOS, etc), but in 64-bit, this doesn't happen. Stick a dedicated video card in, and you should see whether it was the integrated card causing your issues. –  Will Eddins Dec 13 '09 at 3:36
add comment

protected by studiohack May 22 '11 at 22:24

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.