Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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
add comment

2 Answers

up vote 13 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
add comment

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

share|improve this answer
add comment

Your Answer

 
discard

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.