Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Sep 2003 22:29:12 -0700 (PDT)
From:      Doug White <dwhite@gumbysoft.com>
To:        Irvine Short <irvine@sanbi.ac.za>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: Large memory issues on 4-STABLE
Message-ID:  <20030914221953.H97248@carver.gumbysoft.com>
In-Reply-To: <20030915070012.U36360@fling.sanbi.ac.za>
References:  <20030913092804.S46465@fling.sanbi.ac.za> <20030913123257.C51554@fling.sanbi.ac.za> <20030915070012.U36360@fling.sanbi.ac.za>

index | next in thread | previous in thread | raw e-mail

On Mon, 15 Sep 2003, Irvine Short wrote:

> Yes, I understand that. What I am saying is, is that the general story out
> there is that with a 32 bit operatng system no process can address more
> than 4GB of RAM. Fine. David said that in FreeBSD I cannot in practicality
> address more than about 3GB of RAM. Also fine.
>
> However we have a situation where if I set MAXDSIZ to 2048 or above then
> things break, so FreeBSD right now has an effectivce limit of 2GB per
> process.
>
> Is this to be considered a bug or a feature?

I'd have to say feature. The kernel placement and user/kernel boundary
sizing is part of FreeBSD and the 4GB limit for both kernel and user is a
restriction of the processor architecture. Its possible to do some tuning
and crunching and maybe eek out 3GB user addressible space, but thats all
you're going to get.

> Then, with the PAE support, lets say I have 8GB of RAM. Will those same
> design limitations restrict me to 3GB of RAM, or 2GB, or will I be able to
> have a single process addressing 4GB all by itself?

Since you need to have the kernel inside that 4GB space somewhere, and 4GB
of RAM chews up a ton of memory in page tables, I would say no.

PAE is not 64 bit addressing.  PAE is 16 banks of 32 bit address spaces.
("36 bit" == 4 bits of bank and 32 bits of address)  As David said, on the
8GB system you could have two large processes taking up 2.5GB each, but
not one 5GB process.

> This is relevant to the work we're doing - some of my users actually
> really do need this amount of memory.

If this is the case then you should consider a 64 bit architecture, like
ia64, sparc64, or amd64 (Opteron).  On these systems you can allocate as
much memory as you can cram into the system*; 64 bits goes a long way. :)

-- 
Doug White                    |  FreeBSD: The Power to Serve
dwhite@gumbysoft.com          |  www.FreeBSD.org

* There's probably some limits when you start using fractional terabytes
to represent the amount of memory you're using, but such limits would be
surmountable given time and equipment.


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030914221953.H97248>