Originally Posted by shivaa
If there is 4GB of RAM, then why MemTotal is showing 2.8GB? A good explaination could show a way to not only the OP but others too.
You need to start by understanding there is a difference between physical ram and physical address space.
Several big chunks in the first 4GB of the physical address space are reserved for things other than ram. The total of those is typically 5/8 of a GB, but it may be significantly more or less than that typical amount. The actual amount depends on details of the design of both the motherboard and the BIOS.
There is a memory controller (inside the CPU package on most newer designs, but inside some other major chip on the motherboard in older designs).
Ram is not directly accessed by physical addresses. Ram is accessed by a complicated system of strobe and select signals generated by the memory controller. The memory controller is programmed (on each power up) with mapping information that translates ranges of physical address into the signals needed to access ranges of actual ram.
Because big chunks are used for other things, you can't map 4GB of ram into 4GB of physical addresses. You need to use addresses above the 4GB boundary.
1) In some older designs, there are only 32 physical address signals going from the CPU package to the memory controller, so even with PAE there is no way to access physical addresses over 4GB.
2) Some BIOSs aren't set up to map any ram above the 4GB boundary.
3) Some BIOS's have a special option (in BIOS setup) to allow them to map over the 4GB boundary.
4) A 32bit OS without PAE cannot use physical addresses over 4GB.
5) Most 32bit Windows versions, even with PAE,cannot use physical addresses over 4GB. But 32bit Linux with PAE can use physical addresses over 4GB.
In this thread (4) and (5) are irrelevant, because the OS is 64 bit. But 1 to 3 apply regardless of whether the CPU and OS are 64 bit.
If the problem is 3, the OP can fix it fairly easily. If it is 2, a new BIOS version might exist that fixes it. If the problem is 1, it can't be fixed.