Question: I have 8G of RAM installed in my system, but the 32-bit version of Ubuntu Linux is only picking-up 4GB. How do I get Ubuntu to recognize more than 4G of memory?
Answer: You need to install a kernel that supports Physical Address Extension (PAE). PAE is a feature of x86 and x86-64 processors that enables the use of more than 4 Gigabytes (64GB in total) of physical memory in 32-bit systems. Here's how to utilize more than 4GB of memory in your Ubutnu 32-bit Linux system.
For sake of witnessing the change, check your system memory before installing the new kernel.
$ free -m
The output should be similar to this:
total used free shared buffers cached Mem: 3804 82 3722 0 3 40 -/+ buffers/cache: 37 3766 Swap: 478 0 478
Install the PAE supported kernel packages.
$ sudo apt-get update $ sudo sudo apt-get install linux-headers-server linux-image-server linux-server
Reboot the system and take a look again using the free command. You should see your total memory is now being utilized.
Note: Alternatively you may choose to install the 64-bit version of Ubuntu which does not require these updates.
A 64-bit environment has a theoretical memory address space in the order of 16 exabytes or 17.2 billion gigabytes.