On Tue, 12 Sep 2000, Thomas Charron wrote:
> Basically, it revolves around the Linux kernel, and adding the
> capability for a very large number of simo IP connections. We need to
> be able to have a linux box support up to and hopefully over 20k simo
> TCP connections.
Just out of curiosity, what on earth for?
> You can see a copy of the challange we've issues at
> http://jabber.org/article/34.html. The biggest issue here is, we'd
> like to try to decrease the amount of RAM required to host this many
> sockets. Nearly every other OS we've compiled and tested on can do
> it. Basically, we have many persistant sockets, all of which are, for
> the most part, idle. Yes, I know, UDP, etc, instead, we've all had
> the arguments. For now, the persistant sockets are required. The
> question ends up being, can we make a Linux kernel support 20k TCP
> connections, without requiring the kernel to consuming anywhere from
> 400 Megs to over a gig of ram? Is it possible to decrease the size of
> the buffers a given socket uses, and hence, decrease the required
> memory?
Well, I have no idea if this will be useful, but...
There's a socket option for the buffer size... But by reducing it you
could run into performance issues. The options are SO_SNDBUF and
SO_RCVBUF. See the socket(7) man page for details.
Be aware that when you call setsockopt(2) with the buffer size, the Linux
kernel will likely set the size to 2 x the specified size. Why it does
this, I have no idea. To check the buffer sizes, use getsockopt(2) with
the same socket options.
Incidentally, the man page also reveals that the default (system-wide)
value for the buffer is set by the wmem_default sysctl, so you could set
that.
--
Derek Martin
System Administrator
Mission Critical Linux
[EMAIL PROTECTED]
**********************************************************
To unsubscribe from this list, send mail to
[EMAIL PROTECTED] with the following text in the
*body* (*not* the subject line) of the letter:
unsubscribe gnhlug
**********************************************************