IBM BPM, V8.0.1, All platforms > Tuning > Advanced tuning > Integration Designer tuning

Changing heap size settings in Integration Designer

When IBM Integration Designer is responding slowly to mouse clicks or keyboard strokes, use the Heap Status widget or generate the verbosegc.log file to see JVM heap usage.

The information provided here is just an introduction to the principles around heap sizes. For detailed information about adjusting heap sizes, see

IBM BPM 7.5 Performance Tuning and Best Practices.

Before you start to look at heap sizes, you should be aware of some characteristics of how business objects are processed. Business objects, when represented as Java objects, are much larger in size than they are in wire format.

For example, a business object might use nine times the allocation on the Java heap that it requires on a JMS message queue. The business object undergoes expansion in a number of way when it is represented as Java objects, and as it flows through the system, it might be modified or copied so that multiple copies might exist at some points in the transaction. The Java heap must be large enough to host all these business object copies for the transaction to complete successfully. Simultaneously processing a number of large objects increases the amount of memory required, because the sum has to fit into the configured heap.

To check for Java heap size issues, turn on the Heap Status widget in Integration Designer by selecting Window > Preferences > General > Show heap status. This widget allows you to see how much of the heap is being used and to trigger a garbage collection.

The verbosegc.log is also useful for analyzing memory usage.


Procedure

To generate the verbosegc.log file for Integration Designer:

  1. Using a text editor, from the Integration Designer installation directory, open the eclipse.ini file.

  2. Add the following line: -verbosegc -Xverbosegclog: location for the generated gclog file. If you do not specify an exact location, the file will be created in the installation directory.

  3. To analyze the verbosegc.log file, download IBM Pattern Modeling and Analysis Tool for Java Garbage Collector (PMAT) from the following URL:http://www.alphaworks.ibm.com/tech/pmat.
  4. Set the initial heap size (-Xms) to something reasonable (for example, 256 MB on a 32-bit JVM) and set the maximum heap size (-Xmx) at something reasonably large (for example, 1024 MB on a 32-bit JVM). If Integration Designer and an IBM BPM server or unit test environment are on the same physical system, each JVM has a heap associated with it. You need to look at both JVMs together to get a true idea of memory use. If the sum of all the virtual memory usage exceeds the size of the addressable physical memory on the system, the Java heaps are subject to paging. The maximum heap size should never force the heap to page. The heap should always stay in physical memory.

  5. After heap sizes are set, use verbosegc traces to monitor garbage collection activity. Analyze the output and change the heap sizes if necessary. If garbage collection is using more than 10 percent of the total time, you might need to increase the heap size. However, excess time on garbage collection could also indicate that memory is being overused. Out-of-memory errors occur if the heap size is set too low. A low setting for heap size can also cause garbage collection to run too frequently, causing reduced throughput.

Performance tuning for IBM Integration Designer


Related information:
Setting the heap size for most configurations
Java heap sizes
Heap limitations: Increase the Java heap to its maximum