Red Hat Bugzilla – Bug 212986
System with 4gb memory has only 3gb allocated.
Last modified: 2007-11-30 17:11:47 EST
Description of problem:
4gb memory in system only displays as ~3 GB. Rebooted and tried memtest which
shows all 4gb memory. Previous FC5 showed all 4gb.
Version-Release number of selected component (if applicable):
Linux 2.6.18-1.2798.fc6 #1 SMP Mon Oct 16 14:37:32 EDT 2006 i686 athlon
Steps to Reproduce:
1. Boot current release i686 kerenel ( non PAE )
dmesg | grep mem
Memory: 3103988k/4194304k available (2138k kernel code, 40368k reserved, 868k
data, 240k init, 2228160k highmem)
Freeing initrd memory: 2242k freed
highmem bounce pool size: 64 pages
Total HugeTLB memory allocated, 0
Non-volatile memory driver v1.2
Freeing unused kernel memory: 240k freed
ohci_hcd 0000:00:02.0: irq 225, io mem 0xd5003000
ehci_hcd 0000:00:02.1: irq 233, io mem 0xfeb00000
/dev/vmnet: hub 0 does not exist, allocating memory.
Ability to use 4gb.
It says : "4194304k". The kernel does see the 4GB. IF you can attach the full
dmesg, it will point otu to where the 1GB is going.
After looking at the full dmesg, I noticed towards the top it says to use a PAE
kernel even though I have 4GB installed ( 4 x 1024 Corsair Cas2 DDR400 ). So
I've changed to the PAE kernel which has resolved the issue.
If you would like me to reboot to a non PAE kernel and paste the output, I am
quite happy to do so, however this is the PAE output. Notice the 4224MB HIMEM.
I'm not sure how it comes to this figure as 4 x 1024 = 4096mb.
Linux version 2.6.18-1.2798.fc6PAE (firstname.lastname@example.org)
(gcc version 4.1.1 20061011 (Red Hat 4.1.1-30)) #1 SMP Mon Oct 16 14:54:22 EDT 2006
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009e800 (usable)
BIOS-e820: 000000000009e800 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 00000000bfff0000 (usable)
BIOS-e820: 00000000bfff0000 - 00000000bfff3000 (ACPI NVS)
BIOS-e820: 00000000bfff3000 - 00000000c0000000 (ACPI data)
BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
BIOS-e820: 0000000100000000 - 0000000140000000 (usable)
4224MB HIGHMEM available.
896MB LOWMEM available.
found SMP MP-table at 000f59c0
NX (Execute Disable) protection: active
On node 0 totalpages: 1310720
DMA zone: 4096 pages, LIFO batch:0
Normal zone: 225280 pages, LIFO batch:31
HighMem zone: 1081344 pages, LIFO batch:31
The non PAE kernel only allocated 3200MB of HIMEM on my system. Would it
because it thinks I have > 4gb with the 4224mb. ?
The reason why the non-PAE kernel allocated the 3.2GB is b/c it cannot use the
other memory. This is due to how much the kernel can map each page (4KB) in the
I am closing the bug as NOTABUG. Thanks for finding the solution.