PAE kernel doesn't see 5GB RAM

I’ve installed 11.1 and the PAE kernel on my (oldish) Dell Dimension 5150C.

There’s room in the box for up to 8GB RAM, and at the moment I’ve puty together 5GB to see how it goes.

The BIOS reports all 5GB, but as far as I can tell, linux is only seeing 3596328k (according to top)

Have I missed something - I’d rather not go to the 64 bit version as it’s taken me ages to get this far…

> The BIOS reports all 5GB, but as far as I can tell, linux is only
> seeing 3596328k (according to top)

do we assumed that your motherboard allows you to install more than 3
or USE more than three…there is a difference (and, i don’t feel
like doing the search to find out the particulars of YOUR mb)

also, do we assume that you have, if required updated the BIOS to
allow you to use more than 3

[yes, i know it doesn’t make sense to build a board that can hold 8
but only use 3…however you wrote “(oldish)” and in oldish days when
most folks used only M$, and they could only USE 3, then lots of
boards were produced that had four slots and they expected users to
put (say) 256 in each…that someone might wanna put 2 GIGs in each
was something they didn’t actually plan for]

but, lets say your board and BIOS is capable…still, you may read
around and find that Linux is pretty particular about the RAM, and
some that works fine on game stations from Redmond won’t crank up
here…maybe the BIOS is ‘seeing’ RAM that Linux can’t use, for some
reason…

one way to find out is to run memtest…it is available on both the CD
and DVD openSUSE media…crank it up and see if it sees all 5…

if not, shut it down and run against each stick individually…that
is, put in ONE stick at a time…

and, let it run a while (it takes a LONG time to do a complete check,
but you should know within (say) an hour or less (per stick) if you
have either a bad socket OR stick of RAM…

if running against one: after checking the first, stick in the
next…in a different socket (if your motherboard/BIOS will allow the
first to be empty, etc)…and stick the next stick in yet another
socket until you have proven all sockets are functioning…

and, when have proven to yourself that each individual stick is good,
then try again with all, and ROTATE them into different slots…

well, this is easy: download the 64 bit Live CD and see if it sees all
your ram…ha!


duo

Post the output of ‘dmesg | grep e820’. That will show how much memory the
kernel is seeing.

OK, dmesg | grep e820 gives me this:

 
 BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 00000000dfe88c00 (usable)
 BIOS-e820: 00000000dfe88c00 - 00000000dfe8ac00 (ACPI NVS)
 BIOS-e820: 00000000dfe8ac00 - 00000000dfe8cc00 (ACPI data)
 BIOS-e820: 00000000dfe8cc00 - 00000000e0000000 (reserved)
 BIOS-e820: 00000000f0000000 - 00000000f4000000 (reserved)
 BIOS-e820: 00000000fec00000 - 00000000fed00400 (reserved)
 BIOS-e820: 00000000fed20000 - 00000000feda0000 (reserved)
 BIOS-e820: 00000000fee00000 - 00000000fef00000 (reserved)
 BIOS-e820: 00000000ffb00000 - 0000000100000000 (reserved)
 BIOS-e820: 0000000100000000 - 0000000140000000 (usable)
update e820 for mtrr

That last line looks like I should have usable memory up to 5GB…

The memory in the machine is 2x2GB Crucial, plus 2X512MB which were part of the original 2GB fitted in the machine as new.
I haven’t yet got around to running memtest - I’ll do that overnight tonight, but the 512MB sticks have been fine up to now, and the 2GB sticks are brand new (no guarantee there, of course…)

I’ve been running this machine happily on the 2GB under OpenSuSE 10.3 (whoever it was mentioned Windows gaming machines - wash your mouth out please! :wink: ), but then the HDD died so I took the opportunity to do some upgrades - I bought 4GB of RAM so that in the worst case I’d at least get 3.5GB, but I thought I’d try with some of the original RAM in the spare slots.

As far I can tell from the motherboard specs, it should be able use up to 8GB.
I’ve installed the RAM in pairs in alternate slots, so the BIOS reports it as dual-channel.

I think I’ve missed some subtlety about the PAE kernel, but I’m just not sure what…

peteatjustcroftdotcom wrote:
> OK, dmesg | grep e820 gives me this:
>
>
> Code:
> --------------------
>
> BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
> BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
> BIOS-e820: 0000000000100000 - 00000000dfe88c00 (usable)
> BIOS-e820: 00000000dfe88c00 - 00000000dfe8ac00 (ACPI NVS)
> BIOS-e820: 00000000dfe8ac00 - 00000000dfe8cc00 (ACPI data)
> BIOS-e820: 00000000dfe8cc00 - 00000000e0000000 (reserved)
> BIOS-e820: 00000000f0000000 - 00000000f4000000 (reserved)
> BIOS-e820: 00000000fec00000 - 00000000fed00400 (reserved)
> BIOS-e820: 00000000fed20000 - 00000000feda0000 (reserved)
> BIOS-e820: 00000000fee00000 - 00000000fef00000 (reserved)
> BIOS-e820: 00000000ffb00000 - 0000000100000000 (reserved)
> BIOS-e820: 0000000100000000 - 0000000140000000 (usable)
> update e820 for mtrr
>
> --------------------
>
>
> That last line looks like I should have usable memory up to 5GB…

True, but that region starts at 4GB - thus you only see 1 GB in the extended
region. The good thing is that pae is working. Without it, you would not see any
memory above the 4GB boundary.

In the e820 map, region 1 has 655,360 B, region 3 has 3,755,510,784 B and the
last region has 1,073,741,824 B for a total of 4,829,907,968 B. As top only
reports 3,596,328 KB, it looks as if Linux saw the extra memory but could not
use it. Perhaps your memtest run will shed some light on that.

Looks like the system doesn’t like the mix of sticks. The two 2Gb sticks check out with memtest, as do all of the 512Mb sticks, but put any combination of 2Gb and 512Mb sticks in, and I get lots of errors.

I suppose I don’t really need the extra Gb…

Thanks for your help.