Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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!

share|improve this question
up vote 14 down vote accepted

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.

share|improve this answer
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 '11 at 4:07
Strange, didn't have to touch grub on two RHEL5 boxes I added the PAE kernel to recently! – Niall Donegan Jan 7 '11 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.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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