I recently installed an additional 32GB of memory in my Dell PowerEdge R900 home virtual machine server. Memory check passed and I booted into CentOS. When I opened the Virtual machine manager and checked my memory usage, my machine only reported 23.59GB as being available for use. I thought that was very odd, so I invoked dmidecode and all 48GB of installed memory were reported correctly.

However, when I ran the free command, it lists the total memory as being 23.59GB again. I'm using the 64-bit version of CentOS 6.5 on a Dell PowerEdge R900 so what's going on here that would stop me from using all 48GB?

Update: Here are the relevant portions of dmesg output:

MTRR default type: uncachable


MTRR variable ranges enabled:
  0 base 0000000000 mask FF80000000 write-back
  1 base 0100000000 mask FF00000000 write-back
  2 base 0200000000 mask FE00000000 write-back
  3 base 0400000000 mask FE00000000 write-back
  4 base 0600000000 mask FF80000000 write-back
  5 base 007FC00000 mask FFFFC00000 uncachable
  6 disabled
  7 disabled
x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
    original variable MTRRs
reg 0, base: 0GB, range: 2GB, type WB
reg 1, base: 4GB, range: 4GB, type WB
reg 2, base: 8GB, range: 8GB, type WB
reg 3, base: 16GB, range: 8GB, type WB
reg 4, base: 24GB, range: 2GB, type WB
reg 5, base: 2044MB, range: 4MB, type UC
total RAM covered: 24572M
Found optimal setting for mtrr clean up
 gran_size: 64K     chunk_size: 8M  num_reg: 6      lose cover RAM: 0G
New variable MTRRs
reg 0, base: 0GB, range: 2GB, type WB
reg 1, base: 2044MB, range: 4MB, type UC
reg 2, base: 4GB, range: 4GB, type WB
reg 3, base: 8GB, range: 8GB, type WB
reg 4, base: 16GB, range: 8GB, type WB
reg 5, base: 24GB, range: 2GB, type WB
e820 update range: 000000007fc00000 - 0000000100000000 (usable) ==> (reserved)
  • Did you tried adding mem=48G to kernel commandline in boot manager? – Scyld de Fraud Sep 21 '14 at 16:58
  • I didn't. Does one usually need that? – KG6ZVP Sep 21 '14 at 17:00
  • Really should not but it's worth a try. Second thought, try looking in output of dmesg something with CPU MTRR and BIOS bug. It can lead you to something like BIOS upgrade... – Scyld de Fraud Sep 21 '14 at 17:04
  • What does dmesg show after the system comes up? – slm Sep 21 '14 at 17:19
  • Post edited to include relevant dmesg output. – KG6ZVP Sep 21 '14 at 17:27

For anyone else running into the same issue, my problem was indeed caused by Dell Servers being picky about memory module placement. I had originally placed the 4 pairs of 4GB modules in slots 3 & 4 of all four memory risers (the original 4 pairs of 2GB modules I left in slots 1 & 2 of the memory risers).

However, for whatever reason Dell Servers don't work that way. What solved the problem was for me to place the pairs of 4GB modules in slots 1 & 2 in each riser and move the pairs of 2GB modules to slots 3 & 4.

I hope that helps someone else running into the same problem. Though, knowing now that this wasn't an error in kernel config, this question should probably be moved to ServerFault.


you're absolutely right @KG6ZVP

this doesn't seem like something you can fix from hardware BIOS level. You have a simple centos 6.5 install which is good on normal hardware such as a laptop or maybe a 1, 2, 3, or or 4 U arch computer. I don't think it will support the amount of memory you have. I've been installing Linux for a long time and my gut feeling tells me you've identified the problem.

you need something like RHEL enterprise or any other Linux flavor with Enterprise labeled on it which will allocate your installed ram properly.

  • If it was Windows, you would be absolutely right. However, in this case, I know of people running older versions of CentOS and using even more memory than 24GB, so it isn't that. In fact, the 32-bit version of Centos 6 can use up to 16GB of ram. Just an FYI, maximum ram for 64-bit CentOS 6 is listed as 3TB on centos.org. – KG6ZVP Sep 23 '14 at 0:23
  • You have a 4U rack server that is ideal for Virtualization. Then I was wrong, then you've definitely missed something on the installation of the operating system. I'm not sure how you've make it re-initialize the ram while operating system is on boot. Take a look at this: grokbase.com/t/centos/centos/087edpywsx/…, it looks like this guy is screaming because of it. You may need specific version of Centos for this specific hardware. You may need to get your spec requirements right. Hope I'm wrong. – unixmiah Sep 23 '14 at 0:38

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.