Messages in this thread | | | Date | Thu, 05 Oct 2006 09:14:49 +0200 | From | Markus Wenke <> | Subject | Re: to many sockets ? |
| |
Alan Cox schrieb: > Ar Mer, 2006-10-04 am 17:03 +0200, ysgrifennodd Markus Wenke: > >> Hi, >> >> I wrote a program which handles incomming sockets asynchron. >> It can handle up to 140000 connections simultaneously while every >> connection send some bytes in both directions continuously. >> > > Armwavingly 64K x 2 per socket worst case for non tcp windowed buffering > > 128K per socket x 140000 connections > > 8750MB of RAM > > plus other overhead > > Assuming you kept the socket buffer limit to 64K by setting it or > disabling window scaling you'd want a about 10GB of RAM for the sockets, > buffering and resources. With tcp windows you'd need more. The default values of my system are: SO_SNDBUF = 16384 SO_RCVBUF = 87380
> If your data rates are always low, or the link is low latency you could > set the send/receive socket buffer for each connection via setsockopt > down to say 8K and come out needing perhaps 1GB or so instead. > I tried the same scenario with SO_SNDBUF = SO_RCVBUF = 8k, so that the max memory is ca. 2G and the oom-killer kills my application at the same time (at 140000 connections).
I can not see in the messages that the system is out of memory, there is also no swap space used
You can download my /var/log/messages at http://hemaho.mine.nu/~biber/messages
May you can give me a hint which line/value in the log shows me, that the system is out of memory?
Thanks in advance
Markus Wenke
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |