3

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

14

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.

2
  • 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
9

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.

http://www.spack.org/wiki/LinuxRamLimits

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .