voodish logo
tweet rss book of faces Linked In

Support more than 4GB on 32 bit Linux

Please note you must have a PAE enabled machine for this operation to work. This PAE kernel supports memory up to 64GB. Physical Address Extension (PAE) is a feature, first implemented in the Intel Pentium Pro to allow x86 processors to access more than 4 gigabytes of random access memory (RAM).

A non-PAE kernel can only address up to 4GB of memory. Install the kernel-PAE package if your machine has more than 4GB of memory.

How to show current Kernel version

uname -r

How to Install PAE kernel?

To install PAE kernel, use the yum command:

# yum install kernel-PAE


Loading “installonlyn” plugin
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
–> Populating transaction set with selected packages. Please wait.
—> Downloading header for kernel-PAE to pack into transaction set.
kernel-PAE-2.6.18-8.1.15. 100% |=========================| 207 kB 00:00
—> Package kernel-PAE.i686 0:2.6.18-8.1.15.el5 set to be installed
–> Running transaction check

Dependencies Resolved

Package Arch Version Repository Size
kernel-PAE i686 2.6.18-8.1.15.el5 updates 12 M

Transaction Summary
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

Total download size: 12 M
Is this ok [y/N]: y
Downloading Packages:
(1/1): kernel-PAE-2.6.18- 100% |=========================| 12 MB 00:12
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: kernel-PAE ######################### [1/1]

Installed: kernel-PAE.i686 0:2.6.18-8.1.15.el5

Reboot the server:

# reboot

That’s it all done :)

However, if your memory still isn’t showing up…

Still not showing up?

Make sure you have the new PAE kernel installed:

uname -r

It should read as:


The version number will change, but the extesnsion should show “PAE”

If it is still showing the old version of the Kernel then:

vi /boot/grub/grub.conf

Make sure the PAE kernel has first priority and then change the default line to 0:


Save the file


and reboot

# reboot

The new kernel should now show, test with:

uname -r

and lastly check the free memory with:

free -m



for activity.

Let us know how you get on with a comment below below.

Related Articles

Comments RSS Feed

1 Trackbacks/Pingbacks

  1. Pingback: switching to 64 bit machine on December 8, 2011


  1. Zakłady bukmacherskie February 25, 2010

    4 GB is not enough.

  2. Go to Top of the page

  3. admin February 25, 2010

    Your right, it isn’t; hence why we upped that particular server to 12GB, it has much more headroom to play with now :)

  4. Go to Top of the page

  5. Janice August 29, 2011


    I was looking over your page because 3013 total memory but I’m only using little more than half of it, or 1615. I was wondering how to increase the amount, because I’m having difficulty making sure the PAE kernel has first priority and then changing the default line to 0- or if this is even the right process to accomplish this. My current PAE kernel version is 2.6.38-11-generic-pae.

    Thanks for helping a complete novice out!

  6. Go to Top of the page

  7. admin August 29, 2011

    Hi Janice,

    Sounds to me like you have the right kernel installed with the PAE extension.

    How much “physical” RAM do you have installed?

    This documentation isn’t for using up your available RAM, but to allow 32-bit OS’s to see more than the usual 32-bit limit ~4GB…, ala 64-bit.

    Even though Linux likes to use all available RAM with the current load, and should free up RAM… practice would show that having some free RAM available does allow for spikes in traffic, auto updates, backups etc.

    The last thing you want to do is end up in Swap where the HDD is used as RAM when Real RAM has been exhausted, and the server ends up thrashing about; services would slow to a crawl.

    It’s nice to have some headroom (free ram).

  8. Go to Top of the page

Leave a comment