I've got a CentOS 5.10 (32-bit) server running on VMWare. It's allocated 4 GB of RAM.
If I run
dmidecode -t 17 | grep Size | grep MB I see:
Size: 4096 MB
Yet when I run
free, I see:
total used free shared buffers cached Mem: 3107140 1239244 1867896 0 332 400464 -/+ buffers/cache: 838448 2268692 Swap: 2096472 0 2096472
Why is there a discrepancy between the total amount of memory
free reports and the
The kernel I'm running is:
2.6.18-371.4.1.el5 #1 SMP Thu Jan 30 06:09:24 EST 2014 i686 i686 i386 GNU/Linux
Admittedly, the kernel is not running
PAE but I thought that was only necessary for memory exceeding 4 GB.
I know I'm missing something simple - can someone please elaborate?
It definitely looks like my kernel is reserving a bunch of memory for other stuff. Here's what I see in
Linux version 2.6.18-371.4.1.el5 (email@example.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-54)) #1 SMP Thu Jan 30 06:09:24 EST 2014 BIOS-provided physical RAM map: BIOS-e820: 0000000000010000 - 000000000009f800 (usable) BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved) BIOS-e820: 00000000000ca000 - 00000000000cc000 (reserved) BIOS-e820: 00000000000dc000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 00000000bfef0000 (usable) BIOS-e820: 00000000bfef0000 - 00000000bfeff000 (ACPI data) BIOS-e820: 00000000bfeff000 - 00000000bff00000 (ACPI NVS) BIOS-e820: 00000000bff00000 - 00000000c0000000 (usable) BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved) BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000fffe0000 - 0000000100000000 (reserved) BIOS-e820: 0000000100000000 - 0000000140000000 (usable) Warning only 4GB will be used. Use a PAE enabled kernel. 3200MB HIGHMEM available. 896MB LOWMEM available. found SMP MP-table at 000f6bf0 Memory for crash kernel (0x0 to 0x0) notwithin permissible range