Kernel/Userland Mem-Space Tuning (1/3 on IA32)

David G. Lawrence dg at
Sun Feb 27 14:15:29 GMT 2005

> Hello.
> I read about address space division of recent operating systems like 
> Linux and Windows XP.
> In both cases, the whole address space of the 32 or 64 Bit system is 
> divided into halfes, 2GB for
> kernel, 2 GB for process(es) (speaking in 32Bit words). The same in 
> 64bit systems like AMD64.
> Those who happily utilize an AMD64 based machine are not (yet) involved 
> by this problem,
> but on recent 32 Bit architectures someone can run out of process space, 
> like me! Some
> geophysical modelling software needs more than the allowed 2GB address 
> space and therefore
> I would like to ask whether FreeBSD (my preferred OS) has a 'knob' to 
> change the kernel/userland parity
> of the address space like it is done in Windows with a special knob at 
> boot time (/W3GB I think, but I'm not
> sure about the exakt syntax but I know someone can change the half by 
> half parity towards 1 to 3 in
> XP). I'm not sure whether FreeBSD divides kernel/userland address space 
> this way, I know Linux and
> Windows does and on Windows we changed this (not yet on Linux and not 
> yet on our FreeBSD machines
> (OS version >5.0, mostly FreeBSD 5.3-R or 5.4-PRERELEASE).
> Any help is appreciated.

   FreeBSD divides the 32bit virtual address space with 1GB for the kernel
and 3GB for user processes. This can be changed with some kernel compile-
time constants (primarily KVA_PAGES, however NKPT may also need to be
increased if the kernel address space is increased).


David G. Lawrence
Download Technologies, Inc. - - (866) 399 8500
TeraSolutions, Inc. - - (888) 346 7175
The FreeBSD Project -
Pave the road of life with opportunities.

More information about the freebsd-questions mailing list