I have allocated 4GB of RAM to a VM running 32bit Linux Centos 5.5.

For unknown reason, total memory is only about 3GB.

Mem: 3107536k total, 366308k used, 2741228k free, 54900k buffers

Where has the missing 1GB gone? Any help is greatly appreciated!

2 Answers 2


By default a 32bit kernel will only address the first 3G or so. You need to get a kernel with PAE support. yum install kernel-PAE and a reboot of the VM should let you see all 4G.

  • Thanks Niall, but it seems that you are missing one step which is to modify grub.conf if the boot sequence is incorrect.
    – Imagineer
    Jan 7, 2011 at 4:07
  • Strange, didn't have to touch grub on two RHEL5 boxes I added the PAE kernel to recently! Jan 7, 2011 at 11:21

The 32-bit Linux kernel splits the 4 GB virtual address space of a process in two parts: 3 GB and 1 GB. The lower 3 GB of the process virtual address space is accessible as the user-space virtual addresses and the upper 1 GB space is reserved for the kernel virtual addresses. This is true for all processes.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.