The RAM allocated to video cannot be used by Windows. So, what's showing in system information etc is installed RAM minus the RAM being used by onboard graphics. Further explanation below.
And - some "older" motherboards may not be able to detect all RAM.
However, that is not what this short article is about...
Now, when RAM is cheap - installing a few GB of RAM or more won't cost you a fortune.
But, if you're using a 32-bit operating system (e.g. the most popular versions of Windows) it will not recognize more than 3.2-3.4GB of RAM.
Why is that???
There's a lot of confusion concerning this and there are thousands of questions about it on the internet.
The following will be about 32-bit Windows NT systems (i.e. 2000, XP, Vista and 7).
64-bit systems are not affected by the "4GB limit" and the different Windows Server editions and Windows 9x have other specifications.
Without getting too theoretical:
A 32-bit Windows system has a certain amount of memory addresses it can assign to different kinds of memory in a PC - i.e. RAM (installed in slots on the motherboard), hard drive cache, motherboard resources, CPU + cache, video RAM etc.
The exact number of memory addresses = 2^32 = 4 294 967 296, ca. 4.29 billion bytes (or gibibytes - GiB).
What happens when the memory addresses are assigned is this:
- Motherboard gets the first ones,
- then the CPU (+ cache),
- followed by hard drive cache
- and video RAM etc.
What is left will go to the actual RAM "sticks".
What does that mean?
If you have 4GB of RAM installed - you will "see" about 4GB minus video RAM minus HDD cache minus motherboard resources etc. Typically 3.2-3.4GB.
If you "only" have 2GB of RAM installed there will be more than enough addresses available to the RAM "sticks" after the system resources have been assigned - thus you will "see" all the RAM.
Unless you have 3 video cards with 1GB RAM each, of course.
If you have any problems or need help please post your questions in Hardware Support


