With only 3GB you shouldn't have to but apparently you have something special there.
As for the reason, that is rather technical. Many (all?) of today's motherboards assume that you are using a 32 bit system, which means that they have 4GB of memory space. So, at first sight, someone with precisely 4GB of RAM shouldn't have any problems as that amount would seem to fit precisely into the available memory space. Unfortunately, it's a bit more complicated.
The thing is that a computer has to reserve part of its memory space to address devices such as videocards, sound cards, etc. and that this counts just as much as your sticks of RAM. In other words, if the system reserves 1GB for communicating with its devices, there is only 3GB left for your sticks of RAM. As a consequence, you won't be able to see more than 3GB, whether you have a 32 bit operating system or a64 bit one. This should be pretty familiar for anyone trying to put 4GB into a system that runs a 32 bit OS. Help, the system doesn't see all my RAM.
Of course, 64 bit systems are known to accept much larger amounts of RAM so how do they do it given the limited memory space? Well, the BIOS has a trick called memory mapping. With this option enabled, 2GB will be reserved for devices and the other two for RAM; the remaining RAM will be mapped above the 4GB space. A 32 bit system wouldn't be able to access that mapped memory space (without PAE that is) because it doubles the 4GB limitation but a 64 bit one can. Now the situation looks like this to the OS: there is 4GB of memory space + 2 GB of mapped memory = 6GB. While you have only 4GB installed.
So if you have memory mapping enabled and you are using a 64 bit OS, you should tell the system that there is 2 GB more than you actually have. The reason I find your case confusing is that 3GB shouldn't be that problematic. 1GB reserved + 3GB of RAM = 4GB so that should fit properly into the 4GB space. With memory mapping disabled, you should see exactly 3GB regardless of OS architecture; with mapping enabled, you should see 2 if you have a 32 bit OS and all 3 if you have a 64 bit OS. The only reason I can think of to explain issues with 3GB is when a system is assigning more than 1GB to devices. That would happen if one or more devices have excessively large amounts of RAM of their own. For example, some Nvidia 8800s have 768MB of dedicated RAM, which would cause the system to reserve more than 1GB of memory space.
mem=5120MB (or 5GB) is only required when you are using memory mapping; you should be fine without it you aren't.
Last edited by jay73; 10-14-2007 at 03:14 PM.