Skip to main content

         This documentation site is for previous versions. Visit our new documentation site for current releases.      

This content has been archived and is no longer being updated.

Links may not function; however, this content may be relevant to outdated versions of the product.

How to set up IBM JVM v1.4.2 and v5.0

Updated on February 19, 2016


This article provides guidelines for setting up your IBM JVM for development. The recommended settings and their values are intended only as starting points for an initial development system.

Note: The optimal JVM configuration for a given application must be determined after you have deployed it and have performed load testing. For a complete discussion of the IBM JVM settings see the Related Articles listed at the bottom of this page.

Also described here are settings to avoid because they may cause unwanted JVM behavior or conflict with the advised settings.

Important: Tune the JVM again after you have resolved performance and memory bottlenecks within the application. Premature JVM tuning will likely produce sub-optimal results that do not address all performance issues.

Suggested Approach

Recommended settings and starting values


Starting Value




Initial heap size



Maximum heap size

for v1.4.2:





kCluster size
Prevents spilling over into the pCluster and fragmenting the heap. Do not use default value, which is too small.

Note: This setting is not supported on a 64-bit JVM.

for v5.0:





Reserves initial space for PRPC Java classloaders. Do not use the default value, which is too small.

Note: The default limitation applies to IBM JVM 5.0 SR-4 and earlier. For JVM 5.0 SR-5 and later, there is no limit placed on the number of classloaders that can be loaded at one time.


for v1.4.2:



Optimize for pause time. GC algorithm that trades high throughput for shorter GC pauses by performing some of the garbage collection concurrently.


for v5.0:




Generational concurrent. GC algorithm improves collection of short-lived objects creating shorter pause times. This is especially important for high-volume BRE applications, but can also be beneficial for BPM applications.


Settings that are not advised with -Xgcpolicy:optavgpause

The following settings conflict with the optavgpause GC algorithm and should not be used with -Xgcpolicy:optavgpause:

  • -Xmo
  • -Xmn
  • -Xmos
  • -Xmox
  • -Xmns
  • -Xmnx
  • -Xmr
  • -Xmrs

Diagnostic tool settings

After you have made initial settings,  switch on the garbage collection log file (known as the “verboseGC log” or “verboseGC file”) using either -vebosegc or -verbose:gc.

The log collects statistics that you can use to tune and improve JVM performance. Because the level of detail is limited, this setting has low overhead and be can be switched on in production environments.

To direct log information to your System Management Application, open it by selecting Tools > System Management Application from the Developer portal menu. In the Logging and Tracing > Garbage Collector and Log Usage section, enter the path to your log file in the GC Log Path field; for example:


Related Articles:

Have a question? Get answers now.

Visit the Support Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best. is not optimized for Internet Explorer. For the optimal experience, please use:

Close Deprecation Notice
Contact us