So I installed CentOS 5.6 on a box at my house and it is not recognizing all my memory. I have 2gb in the machine but when you run a 'free -m' or a 'top' or a 'cat /proc/meminfo' it only shows that there are 896796kB on the machine.

Any ideas?


In the dmidecode output, I see:

  • The Physical Memory Array entry has a record Number Of Devices: 2.
  • There are two Memory Device entries (as expected). One is for a 1024MB DIMM (DDR2) in Bank0/1, the other is empty (No Module Installed) in Bank2/3.

My understanding is that either you have two slots for memory modules, one has a 1GB module, and the other is empty; or else you have one of those motherboard types that require matching pairs of module, with four slots, one pair of slots with matching 512MB modules and the other pair of slots empty. Either way, you only have 1GB of memory.

Check how much memory the BIOS reports. Check how much memory Memtest86+ sees. I suspect you'll find that all software reports 1GB.

If you think you have 2GB, then check your memory modules again. If you have modules not accounted for, make sure they're inserted properly; try removing the module(s) in bank 0/1 and moving the modules from bank 2/3 to bank 0/1. Your modules or motherboard may be defective, or they may be incompatible.

An additional point is that 896796kB is 148MB short of 1GB. That total memory is not your total physical RAM, it's the RAM that's available to applications. The remainder is used by

  • hardware peripherals, usually the graphics card. The one in your machine is probably using 126MB.
  • the kernel. 20MB is in the expected ballpark.
  • Great answer. I will check all that out. Thank you very much. I will report back. – chantheman May 4 '11 at 2:36

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.