Re: Three out of Four Isn't Bad

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux