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

2005-02-27 Thread David G. Lawrence
 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).

-DG

David G. Lawrence
President
Download Technologies, Inc. - http://www.downloadtech.com - (866) 399 8500
TeraSolutions, Inc. - http://www.terasolutions.com - (888) 346 7175
The FreeBSD Project - http://www.freebsd.org
Pave the road of life with opportunities.
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


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

2005-02-27 Thread O. Hartmann
David G. Lawrence wrote:
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).
-DG
David G. Lawrence
President
Download Technologies, Inc. - http://www.downloadtech.com - (866) 399 8500
TeraSolutions, Inc. - http://www.terasolutions.com - (888) 346 7175
The FreeBSD Project - http://www.freebsd.org
Pave the road of life with opportunities.
 

Dear David.
Thank you very much.
I assumed FreeBSD do the same like Linux, but don't obviously.
I found a lot of tweaking kernel parameters,
KVA_PAGES
VM_KMEM_SIZE_SCALE
VM_KMEM_SIZE_MAX
VM_KMEM_SIZE
Reading some comments  in sys/kern/kern_malloc.c make be a bit confused, 
I do not know much about kernel's interna.

It is nice to hear that FreeBSD do a 1/3 division, I expected a 2/2 
division like Linux does. So no need for anything changing.

Can someone please explain NKPT? I'm simply curious, didn't found a 
satisfying answer via google, but a lot of source code with this in ...

Thanks
Oliver
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


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

2005-02-27 Thread David G. Lawrence
 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).
...
 Dear David.
 Thank you very much.
 I assumed FreeBSD do the same like Linux, but don't obviously.
 
 I found a lot of tweaking kernel parameters,
 KVA_PAGES
 VM_KMEM_SIZE_SCALE
 VM_KMEM_SIZE_MAX
 VM_KMEM_SIZE

   The last three are not related to the address space division and you
should not change those under normal circumstance.

 Reading some comments  in sys/kern/kern_malloc.c make be a bit confused, 
 I do not know much about kernel's interna.
 
 It is nice to hear that FreeBSD do a 1/3 division, I expected a 2/2 
 division like Linux does. So no need for anything changing.

   It's a 1:4 ratio.
 
 Can someone please explain NKPT? I'm simply curious, didn't found a 
 satisfying answer via google, but a lot of source code with this in ...

   It's the number of page table pages that are assigned to the kernel
address space. Each page maps 4MB, so 256 (the default) provides for
1GB of kernel virtual address space, leaving 3GB for user space.

-DG

David G. Lawrence
President
Download Technologies, Inc. - http://www.downloadtech.com - (866) 399 8500
TeraSolutions, Inc. - http://www.terasolutions.com - (888) 346 7175
The FreeBSD Project - http://www.freebsd.org
Pave the road of life with opportunities.
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


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

2005-02-27 Thread O. Hartmann
David G. Lawrence wrote:
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).
 

...
 

Dear David.
Thank you very much.
I assumed FreeBSD do the same like Linux, but don't obviously.
I found a lot of tweaking kernel parameters,
KVA_PAGES
VM_KMEM_SIZE_SCALE
VM_KMEM_SIZE_MAX
VM_KMEM_SIZE
   

  The last three are not related to the address space division and you
should not change those under normal circumstance.
 

Reading some comments  in sys/kern/kern_malloc.c make be a bit confused, 
I do not know much about kernel's interna.

It is nice to hear that FreeBSD do a 1/3 division, I expected a 2/2 
division like Linux does. So no need for anything changing.
   

  It's a 1:4 ratio.
 

Sorry, I meant 1GB kernel, 3GB userland or 2GB kernel, 2GB userland, not 
the divisor or
mathematical ratio, sorry for this unprecise.

 

Can someone please explain NKPT? I'm simply curious, didn't found a 
satisfying answer via google, but a lot of source code with this in ...
   

  It's the number of page table pages that are assigned to the kernel
address space. Each page maps 4MB, so 256 (the default) provides for
1GB of kernel virtual address space, leaving 3GB for user space.
 

Many thanks, that helped a lot!
Oliver
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]