How-to use more than 4GB of memory with Ubuntu Linux 32-bit

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.