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
and
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)
mem=48G
to kernel commandline in boot manager?dmesg
something withCPU MTRR
and BIOS bug. It can lead you to something like BIOS upgrade...dmesg
show after the system comes up?