New
#11
That's video card shared memory folks.
This is written for Vista64 but mostly applies to 7 as well: The system memory that is reported in the System Information dialog box in Windows Vista is less than you expect if 4 GB of RAM is installed
From the KB:
APPLIES TO
- Windows Vista Business
- Windows Vista Enterprise
- Windows Vista Home Basic
- Windows Vista Home Premium
- Windows Vista Starter
- Windows Vista Ultimate
- Windows Vista Enterprise 64-bit Edition
- Windows Vista Home Basic 64-bit Edition
- Windows Vista Home Premium 64-bit Edition
- Windows Vista Ultimate 64-bit Edition
- Windows Vista Business 64-bit Edition
So, i can't disable this sharing memory and have all my 4gb running separate from my video card?
Let me start by saying that the Microsoft support document referenced above is a great resource and explains this issue well. I will assume that you've read that article and still have questions, so let me rephrase this for you here.
1. Memory addresses below 4GB are a finite resource and there is competition for those addresses. Some of them are reserved for the system firmware/BIOS, then some for devices (see number 2), and the leftover addresses are used by Windows.
2. PCI configuration space is memory-mapped (meaning that it's accessed in the same manner and using the same addressing scheme as physical memory) and typically consumes address space below 4GB for 32-bit OS compatibility reasons. Addresses used for PCI configuration space cannot be used by the OS to access physical memory. To use a simple analogy: Windows cannot park any cars (data) in those parking spots (addresses) because someone else (a device) is already parked there.
3. Each device in your computer consumes a small part of the PCI configuration space below 4GB. This is true regardless of whether you have an on-board video card or an add-in card.
4. If your system BIOS does not support memory remapping then there is no way for Windows to utilize the physical memory whose addresses are overlapped by PCI configuration space without corrupting PCI device state in the process.
So, in summary: If you install 4GB of memory in your computer that is running a 64-bit version of Windows and you do not know how or do not have a mechanism to enable memory remapping (this would be an option in the system BIOS, if it were available), the firmware will consume a few MB of memory and PCI configuration space will overlap a much larger block of memory (typically between 512MB and 1GB) and you will be left with approximately 3 to 3.5GB of RAM. This is not a bug in Windows. In fact, Windows is doing exactly the right thing because it's not corrupting your device state.
*Note: If you don't have an option to enable memory remapping and you think that your system should support it, you might try loading a newer system BIOS or contacting your system manufacturer or motherboard vendor to request a system BIOS update with memory remapping support.