Bill Davidsen wrote:
Roger Heflin wrote:
Dennis Gilmore wrote:
On Wednesday 16 April 2008, Bill Davidsen wrote:
I just popped another 2GB in my development machine, 2GB to 4GB RAM,
and
only 3GB shows. Yes I looked at the 820 output, yes I tried PAE
kernels,
yes I checked the BIOS to see the the hole options were tried, other
thoughts.
FC6 running 2.6.22.14-72.fc6PAE, also 2.6.24.4 kernel.org build.
dmesg hopefully attached if it doesn't get stripped again.
I have a Dell D820 and while its a 64 bit system, it has a 32 bit
chip in there somewhere so i can only use 3.25gb of thr 4gb that is
installed could very well be a hardware limitation somewhere.
Dennis
Actually, since most OSes are 32bit (read Windows) none of the bios
makers set things up so that the missing ram can be remapped over 4GB
since that would be useless under windows. So they just waste the
memory generally, though sometimes there is a bios option to set
things to non-windows OS, or change the memory mapping that will allow
more to be used, but generally that is only with the higher end
machines and even there (where a large number of the machines are used
with 64bit OSes) the options don't always exist.
On a normal desktop system generally you are out of luck and will at
best get maybe 3.2-3.5 GB of ram out of 4GB, and sometimes less
depending on how well be bios was setup. The older the motherboard
is the worse it gets.
My 3 year old intel board lets me use 2.8GB out of 3GB, I am not sure
how bad it would get if I added another GB, I would expect to at best
get maybe .5 GB more.
Do a "cat /proc/mtrr" to get a better idea of what the bios is telling
linux to do.
Mine looks like this:
reg00: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1
reg01: base=0xb0000000 (2816MB), size= 256MB: uncachable, count=1
reg02: base=0xc0000000 (3072MB), size=1024MB: uncachable, count=1
Actually the BIOS passes the information on memory to the kernel in the
e820 table, physical memory description. MTRR is set by the kernel. In
my case (from the original dmesg):
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e4000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 00000000c77a0000 (usable)
BIOS-e820: 00000000c77a0000 - 00000000c77ae000 (ACPI data)
BIOS-e820: 00000000c77ae000 - 00000000c77e0000 (ACPI NVS)
BIOS-e820: 00000000c77e0000 - 00000000c7800000 (reserved)
BIOS-e820: 00000000ffb80000 - 0000000100000000 (reserved)
Yes, but I am lazy and /proc/mtrr is much easier to read that the e820 printout,
and does show the cachable/write-back stuff.
Roger