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