JVM Threads

One issue that can affect performance is the number of threads running in the JVM.  With mediation it is possible to have thousands of threads running in the JVM, all competing for memory and CPU, as well as increased contention on various mutexes within the JVM and ActiveMatrix.

Large numbers of threads can dramatically increase the memory used by the JVM, especially with database connection pools and prepared statement caching. Depending on the configuration, the Oracle JDBC driver can also use a large amount of memory.

If you see large numbers of threads (for example, more than 500), examine the use of mediation in ActiveMatrix BPM and deployed processes. Also examine other non-BPM applications that have been deployed to the node.

You can decrease the number of Process Engine threads, as explained in Process Engine (PVM).

Consider restricting the number of threads available to httpConnector resources by using a worker thread pool, as explained in HTTP Connectors.

For more information about thread pools, including how to reduce thread numbers, see Thread Pools.