This content has been archived.

Table of Contents

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

Summary

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

Setting

Starting Value

Description

-Xms

-Xms512

Initial heap size

-Xmx

-Xmx1536

Maximum heap size

for v1.4.2:

-Xk

 

-Xk22000

 

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:

-Xmxcl

 

-Xmxcl22000

 

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.

-Xgcpolicy:

for v1.4.2:

 

-Xgcpolicy:optavgpause

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:

 

 

-Xgcpolicy:gencon

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:

f:\websphere\tempdir\logs\gclog.out.

Related Articles:

Suggest Edit

Have a question? Get answers now.

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