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 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:
- Support Play - Tuning the IBM JVM 1.4.2 for performance
- Support Play - Tuning your Sun JVM Versions 1.4.2 and 5.0]
- Using Performance Tools (PAL), for v4.2 and for version 5.1, from links on the System Tools page
- How to detect and remedy the performance impact of Obj-List methods and list view reports
Previous topic How to estimate the memory required for pages Next topic How to set up Sun JVM v1.4.2 and v1.5