Re: Fedora core 3 - 4GB memory limit?

On Wed, 2006-04-12 at 12:51 -0400, Matt Roth wrote:
>> Eric Persson wrote:
>> Hi,
>> I have a Fedora core 3 machine:
>> Fedora Core release 3 (Heidelberg)
>> Linux localhost.localdomain 2.6.9-1.667smp #1 SMP Tue Nov 2 14:59:52
>> 2004 i686 i686 i386 GNU/Linux
>> It currently have 3gb of memory in it, and I have two spare slots which
>> I intend to fill with an additional 2gb of memory to get to a total of
>> 5gb in the machine.
>> Is this possible or is there a 4gb limit in the kernel, which would
>> something like PAE needed. If so, is that already included in the stock
>> kernel used?
>> Any other apparent caveats?
> Alexander Dalloz wrote:
> Does your motherboard support such an amount of RAM? You did not tell us
> which one you run. You should look into the manual. On non server i386
> x86 boards the amount of RAM is often limited to max. 4 GB, where you
> even loose the amount which is required by I/O components. Thus you
> often only have max. 3.5GB RAM even if 4GB modules sticked in.


In addition to Alexander's points, there are a few other things to
consider when installing more than 4 GB of RAM:

1) 32-bit processors (without 64-bit extensions, such as Intel EM64T)
are limited to 4 GB of physical memory.

2) 32-bit operating systems and applications use 32-bit pointers than
can only address up to 4 GB of physical memory.

3) 32-bit hardware (such as PCI ethernet cards) can be problematic. I
have a Level 5 Networks EtherFabric EF1-21022T that required a custom
driver for our system. I believe it was a DMA bounce buffering issue.

If you don't have a 64-bit processor or a processor with 64-bit
extensions, you are limited to 4 GB of RAM. Since according to your
post you are running Fedora Core 3 i386, this is the most likely scenario.

Actually, this needs a slight correction....

Yes, the processor can only natively address 4GB of RAM. This is also
the case of the Uniprocessor kernel (aka. kernel-<version>.<arch>.rpm).
There are, however, some alternatives that were implemented in Linux
and, I believe, require mobo support (a la PAE or something like it).
The SMP kernel (which it appears the OP is running, aka
kernel-smp-<version>.<arch>.rpm), has a "mapping" function that allows
it to address more than 4GB of RAM on a 32-bit architecture. The theory
is support for up to 16GB of RAM in, what has been declared as a 1G/3G
split. Of course, as you use the memory beyond 4GB, some context
switching needs to occur, and the kernel itself can address only 1GB
while an individual process can address only 3GB (hence the
aforementioned split). But, of course, most of us are running more than
one process, hence adding them up to a cap of 16GB.....

Red Hat also introduced a "bigmem" or "hugemem" kernel package that
changed the underlying memory architecture to a 4G/4G split and allowed
us to extend addressable memory to 64GB on a 32-bit architecture - but
again, only 4GB at a time and a need to context switch a bit. But, this
made the database folks happy, who cannot seem to get enough RAM to
cache with.

I believe the general recommendation though these days, given that
hybrid 64-bit CPUs from AMD and Intel are definitively mainstream is
that we probably "should" migrate to one of these new processors when we
look to exceed the native 32-bit capacity of 4GB, and hence, no more
context switching....

But, of course, I'll defer those recommendations to the kernel developer
types on the list.... :-)


fedora-list mailing list
To unsubscribe:

Relevant Pages

  • [PATCH 2.6.24] mm: BadRAM support for broken memory
    ... This is the latest version of the BadRAM patch, ... run Linux on broken memory. ... a new kernel appeared, ... the BadRAM subsystem dealing with statically challanged RAM modules. ...
  • Re: Patch 4/6 randomize the stack pointer
    ... > it," so perhaps this would be a good compromise. ... less than 512M of memory to keep track of. ... what about the case where you have gobs of RAM and need a highmem ... Kernel data structures, no. ...
  • Re: Allocating kernel memory
    ... > I never complained about the real memory that was used but pointed out ... > that a large portion of the kernel virtual address space is used up. ... RAM you should avoid PAE, ... But it was limited to 1GB of physical RAM. ...
  • Re: Newbie Setting up xserver
    ... Could be, but now that I know that low memory is causing the problem, I will ... The kernel gobbles up the rest of the physical memory huh. ... Actually my RAM is split into two ... >it could be that some of the processes related to setting the timezone ...
  • Re: OS-question
    ... MacOS X supports>4GB of RAM on IA32 and so does FreeBSD but I don't know ... Linux can use up to 64 Gigabytes of physical memory on x86 systems. ... If you are compiling a kernel which will never run on a machine with ...