Perhaps this is more apropriate here..
To clarify it a bit, both server and client are being run from the same machine connecting to localhost. If the source code is needed I can send it here but it's a simple "while(1) { accept() pthread_create() }" on the server side and "for() connect()" on the client.
What I'm trying to simulate is the behavior of a IRC server that has thousands of persistent connections, but with threads.
-------- Original Message -------- Subject: pthread_create: cannot allocate memory Date: Thu, 18 Aug 2005 13:29:33 -0300 From: Giovanni P. Tirloni <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] Hi, I coded a small echo server that creates a thread for every connection it accepts. It works fine and then I decided to test how many threads it could handle so I coded a stress.c client program that'd just create as many connections as I asked without exchanging any data. First I discovered the kern.threads.max_thread_per_proc limit that was limiting it to 1500 threads. So I raised it and the max_group_per_proc to 10k. I also increased the NMBCLUSTERS limit to 65535 just in case. What I've seen is that the server stops at 2400-2410 threads when I ask strees.c to create 8k connections. top shows I still have 150MB of free memory. Where should I look to raise this limit ? This is a CeleronM 1.3GHz and 512MB of RAM. Another behavior was that it creates 130 threads at once, waits, then another 130 more. It varies 1-10 threads sometimes but usually this inverval is constant. I think it might have something to do with the TCP code doing some normal limitation but I've look at it. Thanks, -- Giovanni P. Tirloni / [EMAIL PROTECTED] _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"