[omniORB] Exception trying to start new thread

radamkie at kdm.pl radamkie at kdm.pl
Fri Mar 31 19:32:32 BST 2006


Hi

Thanks for anserwers and advices.

The platform is:

OS:Red Hat Enterprise Linux AS release 3 (Taroon Update 5)
Kernel:Linux 2.4.21-32
Processor: Intel(R) Xeon 3GHz
RAM: 2GB

#cat /proc/sys/kernel/threads-max
14336

#ulimit -a
core file size        (blocks, -c) 0
data seg size         (kbytes, -d) unlimited
file size             (blocks, -f) unlimited
max locked memory     (kbytes, -l) 4
max memory size       (kbytes, -m) unlimited
open files                    (-n) 1024
pipe size          (512 bytes, -p) 8
stack size            (kbytes, -s) 10240
cpu time             (seconds, -t) unlimited
max user processes            (-u) 7168
virtual memory        (kbytes, -v) unlimited

Is a way to check how many threads are working in omniORB application ?
The omniORB application communicate with one JaCORB application(located 
on the same machine/platform), which generate configurable amount of 
CORBA requests to omniORB. It was tested, that omniORB raise "Exception 
trying to start new thread" by ca 30 requests per second from JaCorba.

Regards
Radek


Quoting Luke Deller <ldeller at xplantechnology.com>:

> On Thu, 2006-03-30 at 10:05 +0200, radamkie at kdm.pl wrote:
>
>> omniORB: Exception trying to start new thread.
> ...
>> In omniORB.cfg is:
>> ...
>> threadPerConnectionPolicy = 1
>> maxServerThreadPerConnection = 1000
>> maxServerThreadPoolSize = 1000
>> threadPerConnectionUpperLimit = 10000
>> threadPerConnectionLowerLimit = 9000
>> threadPoolWatchConnection = 1
>> ...
>
> This configuration says that omniORB may try to create up to 10000
> threads (one thread per connection to service up to 10000 connections).
> This is much higher than is possible on many systems, mainly due to the
> VM and physical memory required for each thread's stack.
>
> As a guide... using a little python script to create as many threads as
> possible (using the default stack size), this is what I found on three
> 32-bit x86 systems:
>    linux(nptl): max 380 threads
>    win2k3:      max 1080 threads
>    solaris:     max 3197 threads
>
> (this is not a very fair comparison due to varying RAM size and memory
> utilization, but it gives a rough indication of reasonable thread
> limits)
>
> Bottom line: Try using more conservative settings in omniORB.cfg.  If
> you really need this many threads, then the following will help:
>      * use 64-bit hardware + OS to increase the amount of VM available
>        to each process
>      * add more RAM
>      * decrease the stack size per thread
>
> Regards,
> Luke.
>
>
> **********************************************************************************************
>
> Important Note
> This email (including any attachments) contains information which is
> confidential and may be subject to legal privilege.  If you are not
> the intended recipient you must not use, distribute or copy this
> email.  If you have received this email in error please notify the
> sender immediately and delete this email. Any views expressed in this
> email are not necessarily the views of XPlan Technology.
>
> It is the duty of the recipient to virus scan and otherwise test the
> information provided before loading onto any computer system.
> Xplan Technology does not warrant that the
> information is free of a virus or any other defect or error.
> **********************************************************************************************
>
>






More information about the omniORB-list mailing list