Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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?
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.
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.
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).
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.
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?
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.
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
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.
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:
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?
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.
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.
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.
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.
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
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.