Products | Versions |
---|---|
TIBCO Enterprise Administrator (TEA) | - |
Not Applicable | - |
Uncaught error from thread [tea-akka.actor.default-dispatcher-44] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[tea]
java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Unknown Source)
at scala.concurrent.forkjoin.ForkJoinPool.tryAddWorker(ForkJoinPool.java:1672)
at scala.concurrent.forkjoin.ForkJoinPool.deregisterWorker(ForkJoinPool.java:1795)
The approximate maximum number of threads of a JVM can be calculated in the following way.
(MaxProcessMemory - JVMMemory - ReservedOsMemory) / (ThreadStackSize) = Number of threads
You may be hitting one of the following OS limits:
1). Large number of running user processes.
2). Large number of opened files.
3). Low value set for max process per user.
To resolve a large number of opened files, up your ulimit -n (max files open) setting. Details follow.
You can see your user limits with the command:
ulimit -a
Up your max file limit with the following value or higher(depends on OS resource):
ulimit -n 65536
The default number of max process per users is 1024 by default. To resolve low max process per user issue, add the following to the $HOME/.profile .
ulimit -u 4096
In the Tea.tra file, add following property and tune the values.
# Specifies the min and max Java heap size to allocate
java.heap.size.max=512m
Tune the JVM Heap value. Note, refer to the JVM tuning documents at oracle.com.
# Give some extra space to permgen if needed.
java.extended.properties=-Xincgc -XX:NewSize=128m -XX:MaxNewSize=256m -verbose:gc-Xms1024m -Xmx4096m -XX:MaxPermSize=2024m -XX:-HeapDumpOnOutOfMemoryError %TEA_START_PARAMS%
If you still face OutOfMemoryError , then upload the tea.tra and tea.log files for review by TEA Support.