LinuxQuestions.org
LinuxAnswers - the LQ Linux tutorial section.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices

Reply
 
Search this Thread
Old 08-20-2009, 12:01 PM   #1
twerked
LQ Newbie
 
Registered: Jul 2009
Posts: 15

Rep: Reputation: 0
memory not recognised?


so i just got some new memory. it's 2x2gig g.skill sticks. these: http://www.newegg.com/Product/Produc...82E16820231122

in the bios it says i have 40xx mg of memory, but in the system monitor it says 2.7 gib. is one of them just not being recognised by ubuntu? or just loose maybe?
 
Old 08-20-2009, 12:48 PM   #2
tredegar
LQ 5k Club
 
Registered: May 2003
Location: London, UK
Distribution: Debian "Jessie"
Posts: 6,017

Rep: Reputation: 369Reputation: 369Reputation: 369Reputation: 369
Your kernel needs to be recompiled to recognise the extra memory.

Most "stock" kernels only recognise up to 1 or (maybe, in your case) 2.7GB

Do a search on what needs changing, and how to recompile your kernel. It's not as difficult as you think, but because of the way memory addressing is handled, you may not see an increase in performance from adding all that extra memory unless you are running a 64-bit distro on 64-bit hardware.

Test it out and see.
 
Old 08-20-2009, 01:02 PM   #3
johnsfine
Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,107

Rep: Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114
Quote:
Originally Posted by tredegar View Post
Your kernel needs to be recompiled to recognise the extra memory.
Assuming you are running 32 bit Linux, you need a PAE kernel to use all 4GB. If the current kernel is 32 bit non PAE, you need a new kernel, which you could get by recompiling the kernel. But I'm pretty sure Ubuntu has a 32 bit PAE kernel available, so if you have a non PAE kernel now, you should be able to install a PAE kernel with apt or synaptic, which would be easier than compiling a kernel yourself.

Quote:
Most "stock" kernels only recognise up to 1 or (maybe, in your case) 2.7GB
A kernel could be limited to 896MB, but that limit is pretty rare in current distributions. The next limit (non PAE) is at 4GB of physical address space. The amount of ram that fits in 4GB of physical address space depends on the bios and motherboard. 3.25GB of ram is typical. 2.7GB is unusually small, but it probably does represent the amount of ram the OP's bios puts in the first 4GB of address space.

It is also possible that be bios is disabling the remapping that lets a PAE or 64 bit Linux use more ram than fits in the first 4GB of address space. In that case, changing the kernel would not help.

Everything I just wrote in the post at
http://www.linuxquestions.org/questi...88#post3649388
applies to this thread as well.

Last edited by johnsfine; 08-20-2009 at 01:03 PM.
 
Old 08-20-2009, 02:06 PM   #4
Quakeboy02
Senior Member
 
Registered: Nov 2006
Distribution: Debian Squeeze 2.6.32.9 SMP AMD64
Posts: 3,245

Rep: Reputation: 121Reputation: 121
This question is starting to come up so often that I wonder if the major distros need to consider going to the PAE kernel as their default for 32-bit?
 
Old 08-20-2009, 02:16 PM   #5
johnsfine
Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,107

Rep: Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114
Quote:
Originally Posted by Quakeboy02 View Post
This question is starting to come up so often that I wonder if the major distros need to consider going to the PAE kernel as their default for 32-bit?
Are you sure they haven't done that already?

The answer to this very common question is usually either fixing some bios setting or it can't be fixed because the bios or motherboard doesn't support it.

Yes, you also need either a 64 bit kernel or a 32 bit PAE kernel, but most people already have one of those. Changing away from a 32 bit non PAE kernel is only helpful if the problem was in the kernel, not the bios.

The right place to start is to find out whether the problem is in the bios (check that memory map from dmesg).
 
Old 08-20-2009, 03:15 PM   #6
Quakeboy02
Senior Member
 
Registered: Nov 2006
Distribution: Debian Squeeze 2.6.32.9 SMP AMD64
Posts: 3,245

Rep: Reputation: 121Reputation: 121
Well, I know that Debian didn't do this for Lenny. As to the rest, I can't say, but, the answer is usually to enable PAE from my experience here on LQ.
 
Old 08-21-2009, 12:44 AM   #7
twerked
LQ Newbie
 
Registered: Jul 2009
Posts: 15

Original Poster
Rep: Reputation: 0
so i searched synaptic for 'pae kernel,' and there's a whole mess of stuff, a few of which are already installed. which is the one i need? i'm on ubuntu 9.09 jaunty jackalope.

also, i do have a 64 bit processor, should i just switch to a 64 bit distro?
 
Old 08-21-2009, 07:21 AM   #8
johnsfine
Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,107

Rep: Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114
I still think you should check the memory map from dmesg to find out whether you have a bios problem or a kernel problem, before you dig too far into how to solve the kernel problem that you might have.

Switching to a 64 bit distro would be more effort than switching to a 32 bit PAE kernel (and if the problem is the bios, 64 bit won't help).

Assuming the bios is OK or you fix it, a 64 bit distro might have slightly better or slightly worse performance than 32 bit PAE. It depends on what kind of programs you run. Even if we knew what kind of programs you run, we don't have accurate measurements of which are how much better or worse in 64 bit.

Usually all those differences average out to approximately nothing.
 
Old 08-21-2009, 11:49 AM   #9
twerked
LQ Newbie
 
Registered: Jul 2009
Posts: 15

Original Poster
Rep: Reputation: 0
okay, so this is what the memory map things says:

Quote:
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
[ 0.000000] BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
[ 0.000000] BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
[ 0.000000] BIOS-e820: 0000000000100000 - 00000000afee0000 (usable)
[ 0.000000] BIOS-e820: 00000000afee0000 - 00000000afee3000 (ACPI NVS)
[ 0.000000] BIOS-e820: 00000000afee3000 - 00000000afef0000 (ACPI data)
[ 0.000000] BIOS-e820: 00000000afef0000 - 00000000aff00000 (reserved)
:
what's that all mean?
 
Old 08-21-2009, 12:54 PM   #10
johnsfine
Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,107

Rep: Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114
If you quoted the whole memory map, that would mean your bios is not remapping ram, so only about 2815MB of ram would be usable regardless of your kernel.

Hopefully, there were a few more lines of that memory map that you didn't quote.

If no more lines say "usable" then your problem is in the bios or motherboard and that must be fixed before the kernel would even make any difference.

If the problem is in the bios, there is probably some option in bios setup to fix it. The name of that option varies widely and may be very non obvious. If you have a URL for an online copy of your motherboard manual, you should post that. If your actual bios is similar to the documented bios in the motherboard manual, I can probably tell you what bios option to change.

The bios memory map on one of my systems ends with this line
Code:
 BIOS-e820: 0000000100000000 - 0000000130000000 (usable)
The numbers 100000000 and 130000000 are physical addresses. 100000000 is 4GB, so this line says a chunk of ram of size 30000000 (which is 768MB) has been remapped by the bios outside the first 4GB of address space. That 768MB of ram on my system can be used by a PAE kernel or by a 64 bit kernel, but not by a non PAE 32 bit kernel. But if that line were not present in the map, that 768MB of ram could not be used by any kernel.

Last edited by johnsfine; 08-21-2009 at 01:13 PM.
 
Old 08-21-2009, 01:43 PM   #11
twerked
LQ Newbie
 
Registered: Jul 2009
Posts: 15

Original Poster
Rep: Reputation: 0
so there was more to the memory map thing, i just didn't realise it because i guess you can scroll/select in the terminal. anyways, here's more, plus what i had posted before:

Quote:
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
[ 0.000000] BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
[ 0.000000] BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
[ 0.000000] BIOS-e820: 0000000000100000 - 00000000afee0000 (usable)
[ 0.000000] BIOS-e820: 00000000afee0000 - 00000000afee3000 (ACPI NVS)
[ 0.000000] BIOS-e820: 00000000afee3000 - 00000000afef0000 (ACPI data)
[ 0.000000] BIOS-e820: 00000000afef0000 - 00000000aff00000 (reserved)
[ 0.000000] BIOS-e820: 00000000b0000000 - 00000000c0000000 (reserved)
[ 0.000000] BIOS-e820: 00000000f0000000 - 00000000f4000000 (reserved)
[ 0.000000] BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
[ 0.000000] BIOS-e820: 0000000100000000 - 0000000140000000 (usable)
[ 0.000000] DMI 2.5 present.
[ 0.000000] Phoenix BIOS detected: BIOS may corrupt low RAM, working it around.
[ 0.000000] last_pfn = 0xafee0 max_arch_pfn = 0x100000
[ 0.000000] Scanning 0 areas for low memory corruption
[ 0.000000] modified physical RAM map:
[ 0.000000] modified: 0000000000000000 - 0000000000010000 (reserved)
[ 0.000000] modified: 0000000000010000 - 000000000009f800 (usable)
[ 0.000000] modified: 000000000009f800 - 00000000000a0000 (reserved)
[ 0.000000] modified: 00000000000f0000 - 0000000000100000 (reserved)
[ 0.000000] modified: 0000000000100000 - 00000000afee0000 (usable)
[ 0.000000] modified: 00000000afee0000 - 00000000afee3000 (ACPI NVS)
[ 0.000000] modified: 00000000afee3000 - 00000000afef0000 (ACPI data)
[ 0.000000] modified: 00000000afef0000 - 00000000aff00000 (reserved)
[ 0.000000] modified: 00000000b0000000 - 00000000c0000000 (reserved)
[ 0.000000] modified: 00000000f0000000 - 00000000f4000000 (reserved)
[ 0.000000] modified: 00000000fec00000 - 0000000100000000 (reserved)
[ 0.000000] modified: 0000000100000000 - 0000000140000000 (usable)
[ 0.000000] kernel direct mapping tables up to 373fe000 @ 10000-16000
[ 0.000000] RAMDISK: 378be000 - 37fef7ee
[ 0.000000] Allocated new RAMDISK: 0087d000 - 00fae7ee
[ 0.000000] Move RAMDISK from 00000000378be000 - 0000000037fef7ed to 0087d000 - 00fae7ed
i have an emachines el1300g. i'm not sure what the motherboard is exactly, i can't find it from googling, but it has a nvidia geforce 6150SE chipset and expandable memory up to 4 gigs of ram. so i know the motherboard can handle the 4 gigs i just put in. as i said before, when i looked in the bios, it recognised 40xx mb of ram. so i guess it is the kernel?
 
Old 08-21-2009, 02:15 PM   #12
johnsfine
Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,107

Rep: Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114
Quote:
Originally Posted by twerked View Post
i have an emachines el1300g. i'm not sure what the motherboard is exactly
We would only need the motherboard manual if the problem were in the bios. Now we know it isn't.

Quote:
expandable memory up to 4 gigs of ram. so i know the motherboard can handle the 4 gigs i just put in. as i said before, when i looked in the bios, it recognised 40xx mb of ram.
To avoid confusing people with similar situations, I want to say that none of the information you just gave about the bios/motherboard claiming support for 4GB is at all convincing. All the same would still be true if your bios were set to disable the extra memory or even if it couldn't support the extra memory.

What is convincing is this line from your dmesg
Code:
[ 0.000000] BIOS-e820: 0000000100000000 - 0000000140000000 (usable)
That says there is 1GB of ram that is usable but outside the first 4GB of address space, so a 32 bit PAE kernel or a 64 bit kernel can use it but a 32 bit non PAE kernel can't.
You also have 2.7485GB of ram inside the first 4GB of address space.
So once you have the right kernel, you can use 3.7485GB out of 4GB.
I can't be sure, but I expect the missing .25GB of ram is being used by onboard graphics. If you aren't using onboard graphics or you don't think it needs 256MB of graphics ram, there might be something you should adjust to regain some of that ram.

So now we are back to the question you asked above, how to get a PAE kernel for ubuntu 9.09 jaunty jackalope.

Sorry, I don't know that level of detail about Ubuntu. You might need to ask that in the Ubuntu subforum to get more people who know the answer to notice the question.

Edit: The obvious google search on the question gave this thread
http://ubuntuforums.org/showthread.php?t=855511
The old info at the beginning of that thread (look at 2.1 in those instructions) tells you how to install the "server" kernel as the simplest way to get PAE. I don't know if that has changed in the year since it was written.

I looked nearer the end of that thread for more current info, but the thread seems to be dominated by people who have the bios or motherboard problems (that we just determined you don't have), so it is hard to see if there is any update to the instructions for people who just need a PAE kernel.

Last edited by johnsfine; 08-21-2009 at 02:39 PM.
 
Old 08-21-2009, 02:41 PM   #13
Quakeboy02
Senior Member
 
Registered: Nov 2006
Distribution: Debian Squeeze 2.6.32.9 SMP AMD64
Posts: 3,245

Rep: Reputation: 121Reputation: 121
Quote:
Originally Posted by twerked View Post
so i searched synaptic for 'pae kernel,' and there's a whole mess of stuff, a few of which are already installed. which is the one i need? i'm on ubuntu 9.09 jaunty jackalope.
OK, now that john has established that you can get at about 3.75GB of your RAM, go back into synaptic and search for "linux-image". Look in the results for the ones that end with the word "bigmem". Those will be the ones you want to choose from. For example, on Lenny, it appears to be linux-image-2.6.26-1-686-bigmem. It's probably the same or almost the same on Ubuntu.

Quote:
also, i do have a 64 bit processor, should i just switch to a 64 bit distro?
Unfortunately, it's almost (or completely?) impossible to just switch to a 64 bit version of an installed distro from a running 32 bit version. There are probably people who know how, but that's above my pay grade.
 
Old 08-21-2009, 03:04 PM   #14
johnsfine
Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,107

Rep: Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114Reputation: 1114
Quote:
Originally Posted by Quakeboy02 View Post
Unfortunately, it's almost (or completely?) impossible to just switch to a 64 bit version of an installed distro from a running 32 bit version.
In other words, switching to 64 bit pretty much involves reinstalling a whole distribution from scratch (while switching to PAE just requires a new kernel).

If you have room on your hard drive and want to switch to 64 bit, I suggest:

1) using gparted from a liveCD, shrink but don't destroy the partition(s) of your existing install and create partitions for a new install (swap can be kept and shared).

2) Install.

3) Mount the old Install from the new one and manually copy over all the settings and files you want to preserve. That is a rather tedious process, but I don't know a better way.


BTW, I checked the stats on that emachine:
It says up to 128MB of graphics ram, so at least 128MB is unaccounted for and may be worth a search through bios settings. But first recover the 1GB of memory that can be recovered by changing the kernel.
It has just a single core CPU, so if you run compute bound low priority tasks at the same time as ordinary foreground tasks (such as web browsing) the server kernel will be noticeably less responsive than the normal kernel, so it might be worth recompiling the kernel. But most people don't run compute bound low priority tasks and thus wouldn't have a responsiveness problem using a server kernel for a desktop system. (Systems with multiple cores may not have a noticeable responsiveness difference even if they do have compute bound low priority tasks running).

When you install the server kernel you will still have the previous kernel and each time you boot you can choose between them in grub.

Last edited by johnsfine; 08-21-2009 at 03:08 PM.
 
Old 08-21-2009, 04:01 PM   #15
twerked
LQ Newbie
 
Registered: Jul 2009
Posts: 15

Original Poster
Rep: Reputation: 0
okay, so when i go into synaptic, if i install the 'linux-image-server' package, that will install the correct kernel? i didn't realise it was such an issue to run 4+ gigs in ubuntu. thanks for all the help. i wish i could give back more, but i'm still pretty n00bish at this whole thing, as you can probably tell

Last edited by twerked; 08-21-2009 at 04:02 PM.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Gateway memory card reader and keyboard not recognised properly OpEn_SoUrCe_RoCkS Linux - Hardware 12 05-12-2008 05:00 PM
Difference between resident memory,shared memory and virtual memory in system monitor mathimca05 Linux - Newbie 1 11-11-2007 04:05 AM
usb2 not recognised Carez Linux - Newbie 10 02-17-2006 10:08 AM
Help!?! RH 8 Memory Mapping -High Memory-Virtural Memory issues.. Merlin53 Linux - Hardware 2 06-18-2003 04:48 PM
how new drivers recognised? dahmad Linux - Newbie 2 02-16-2003 10:44 PM


All times are GMT -5. The time now is 04:59 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration