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

Re: Kernel 4.9.0-7-686 Installed RAM vs. uabale RAM

On Wed, Aug 08, 2018 at 12:25:14AM +0200, deloptes wrote:
Pascal Hambourg wrote:

 But you need a
686-pae or amd64 kernel to use RAM beyond 4 GiB, as Michael pointed out.

but he has 3GB and machine sees only 2 - is it because kernel is not pae?
I was thinking that 686 system can see (and use) around 3GB and with some
trick above, but in case of 4GB it did not make any sense from technical
point of view, because much of it is lost for reserved mapping tables
(AFAIR). So mem is optimal on that machine, but why it can see only 2 of 3?
Is one GB shared with graphics controller?

Short answer is yes, all 3GB should show up. Why isn't it? No idea. dmesg would help, lscpu would help, knowing whether all 3GB is seen in the system's bios would help. PAE kernel might help, and performance with 3GB RAM and no PAE will be really terrible anyway. The only reason to run a non-PAE kernel would be if the CPU is too old to support PAE. (In which case there may be any number of reasons why things are flaky on 15 or 20 year old hardware.)

If this is a really, really old machine and just an experiment, carry on. With reasonably modern hardware the right answer for >1G RAM is an amd64 kernel. If you have an (unusual) need to run an i386 userspace you can install the amd64 kernel on i386 system. All of the options for running >1G on 32 bit kernel have pretty severe performance impact. It's possible that memory has been reserved for an on-board GPU, but I'm having trouble wrapping my head around the idea of a machine that memory-limited using a gig of video memory. dmesg would help understand that. I lean toward suspecting the chipset just doesn't support >2G, but knowing what the BIOS reports would clear that up.

Mike Stone

Reply to: