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>
