Only 3.2 Gb of memory being used on a 64-bit system

I have ubuntu 11.10 64 bit:

Linux 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:56:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

I have installed 4 Gb of RAM:

$ sudo dmidecode --type 17 | grep -E "Size|Form Factor|Memory Device|Type"
Memory Device
    Size: 1024 MB
    Form Factor: DIMM
    Type: DDR2
    Type Detail: Synchronous
Memory Device
    Size: 1024 MB
    Form Factor: DIMM
    Type: DDR2
    Type Detail: Synchronous
Memory Device
    Size: 1024 MB
    Form Factor: DIMM
    Type: DDR2
    Type Detail: Synchronous
Memory Device
    Size: 1024 MB
    Form Factor: DIMM
    Type: DDR2
    Type Detail: Synchronous

But my PC can see only 3.2 Gb of it.

$ free
             total       used       free     shared    buffers     cached
Mem:       3347240    1404628    1942612          0      47156     603992
-/+ buffers/cache:     753480    2593760
Swap:      2093052          0    2093052

I found this article: https://help.ubuntu.com/community/EnablingPAE. It says that PAE is enabled by default on 64-bit operating systems, so my system should see my 4Gb RAM. But it doesn't.

What could be the problem?

This duplicate question contains even more detail.


After chatting with stee1rat, it turned out that his Dell inspiron 530 was using an old (v1.0.3) BIOS, which had a wrong memory map, which causes the BIOS to only recognize 3.2GB of the installed 4GB of RAM. The memory map was supposedly fixed in v1.0.12 and newer of the BIOS, which can be found at Dell's FTP site (look for 530_10xx.EXE, where xx defines v1.0.xx).

Direct link

Unfortunately, despite our best efforts, it appears that using the .EXE to update the BIOS from within FreeDOS is not possible. The only option appears to be to try install the BIOS from within Microsoft Windows.