On Sun, Feb 08, 2009 at 02:46:22PM +0100, Ragnar Lonn wrote:
> Bernd Walter wrote:
> >This is simple maths:
> >100k Sockets with 32k TX and 64k RX buffer take 9G Memory.
> >Just buffer space, not to mention socket state, ...
> >On i386 this is limited by kmem, which defaults to IIRC 512MB and
> >is limited by 32bit virtual address space on i386.
> >On amd64 depending on the OS version you can have a kmem of slighty
> >less than 2G max or several GB.
> >Nevertheless you are still limited with physical RAM.
> >Smaller buffers are possible, but usually people want larger buffers
> >to keep up with recent line speeds.
> >Today buffer sizes can be dynamic - don't know the exact details, but
> >you should keep in mind that 32k/96k is already quite small for
> >many purposes.
> >  
> But physical memory is cheap, and most low-end machines can have 16G or 
> more today. Is it just a matter of having enough RAM and a 64-bit OS 
> then?   How much is "several GB [kmem]" that you mention above?

AFAIK it is the only limitation - people are using 100k+ sockets since
at least FreeBSD-4, but with several restrictions because of memory.
It mostly depends on your application and network topology to your peers.
Don't know where the current kmem limits exactly are - AFAIK kmem
is hold within KVA and KVA is limited by a static map size.
It has been widely discussed recently, because ZFS loves a large kmem.

B.Walter <be...@bwct.de> http://www.bwct.de
Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm.
freebsd-virtualization@freebsd.org mailing list
To unsubscribe, send any mail to 

Reply via email to