IBM BPM, V8.0.1, All platforms > Tuning > Advanced tuning
Advanced Java heap tuning
Because the Business Process Management product set is written in Java™, the performance of the Java Virtual Machine (JVM) has a significant impact on the performance delivered by these products. JVMs externalize multiple tuning parameters that can be used to improve both editor and runtime performance. The most important of these are related to garbage collection and setting the Java heap size.
The products covered in this information use Java 6.
The
IBM Java 6 Diagnostics Guide provides information about all the available tuning parameters, most of which are for specific situations rather than for general use.
- Monitoring garbage collection
To set the heap correctly, first determine how the heap is being used. You can do this by collecting a verbosegc trace, which prints garbage collection actions and statistics to stderr.- Setting the heap size for most configurations
For most production applications, the IBM JVM Java heap size defaults are too small and must be increased. Also, if the -Xgcpolicy:gencon option is used (as it is by default), the nursery size must be increased.- Setting the heap size when running multiple JVMs on one system
Each running Java program has a heap associated with it. Therefore, if you have a configuration where more than one Java program is running on a single physical system, it is important to set the heap sizes appropriately.- Reduce or increase heap size if out-of-memory errors occur
The java.lang.OutOfMemory exception is used by the JVM in a variety of circumstances, making it sometimes difficult to track down the source of the exception. There is no conclusive mechanism for telling the difference between these potential error sources, but a good start is to collect a trace using verbosegc.