How to resolve "java.lang.OutOfMemoryError: unable to create new native thread" errors in BW?

How to resolve "java.lang.OutOfMemoryError: unable to create new native thread" errors in BW?

book

Article ID: KB0091542

calendar_today

Updated On:

Products Versions
TIBCO ActiveMatrix BusinessWorks -
Not Applicable -

Description

Description:
Sometimes in Linux environments, BW engine runs out of resources and stop responding with the following error stack:
(This is a general resource problem on the machine/OS which the JVM BW is launching is running into rather than a BW Engine problem)

Unable to create new native thread java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:597)
at com.tibco.pe.core.JobDispatcher.<init>(JobDispatcher.java:45)
at com.tibco.pe.core.JobPool.a(JobPool.java:350)
at com.tibco.pe.core.JobPoolConfigurator.a(JobPoolConfigurator.java:177)
at com.tibco.pe.core.JobPoolConfigurator.do(JobPoolConfigurator.java:100)
at com.tibco.pe.core.JobPool.<init>(JobPool.java:313)
at com.tibco.pe.core.JobPoolCreator.init(JobPoolCreator.java:81)
at com.tibco.pe.core.JobPoolCreator.<init>(JobPoolCreator.java:73)
at com.tibco.pe.PEMain.do(PEMain.java:386)
at com.tibco.pe.PEMain.a(PEMain.java:197)
at com.tibco.pe.PEMain.<init>(PEMain.java:184)
at com.tibco.pe.PEMain.main(PEMain.java:122)

Issue/Introduction

How to resolve "java.lang.OutOfMemoryError: unable to create new native thread" errors in BW?

Resolution

Cause:

1). There is not enough memory to create a thread.
2.) MaxThreads on the Linux server is too low.

Workaround:

1). Try the following by modifying your application.tra file.

- Reduce Stack Size.
- Reduce Heap Size if it is very large.
- Set "EnableMemorySavingMode" to true.

2). Increase the Threads-max in server:

sysctl –w kernel.threads-max=150000 (default value: 57786)

Additional Information

Also See:
# KB: 44089(BW error java.lang.OutOfMemoryError: unable to create new native thread.)
#Kb:38321(java.lang.OutOfMemoryError: unable to create new native thread on Solaris.)
# http://stackoverflow.com/questions/16789288/java-lang-outofmemoryerror-unable-to-create-new-native-thread
# http://www.devgrok.com/2012/03/resolving-outofmemoryerror-unable-to.html