Java virtual machine tuning parameters
Because the application server is a Java process, it requires a Java virtual machine (JVM) to run, and to support the Java applications running on it. For more information about JVM settings, see Java virtual machine settings.
For additional tuning information, see Java memory tuning tips. If your application experiences slow response times at startup or first touch, you may want to consider using the Java user classloader cache. For more information, see Java cache for user classloaders in the Programming topic.
You can adjust these settings that determine how the system uses the JVM:
- Class garbage collection (-Xnoclassgc)
- Description: This argument disables class garbage collection so that your applications can reuse classes more easily. You can monitor garbage collection using the -verbosegc configuration setting because its output includes class garbage collection statistics.
- How to view or set:
- Start the administrative console.
- In the topology tree, expand Servers and click Application Servers.
- Click the name of the application server that you want to configure.
- Click Process Definition.
- On the Process Definition page, click Java Virtual Machine.
- In the Generic JVM arguments field, type -Xnoclassgc.
- Click Apply or OK.
- Save the configuration.
- Stop and restart the application server.
- Default value: By default, class garbage collection is enabled.
- Recommended value: Do not disable class garbage collection.
- Initial heap size
- Description: The initial heap size specifies how often garbage collection runs, and can have a significant effect on performance. For more information, see Tuning Garbage Collection for Java(TM) and WebSphere on iSeries.
- How to view or set:
- Start the administrative console.
- In the topology tree, expand Servers and click Application Servers.
- Click the name of the application server that you want to configure.
- Click Process Definition.
- On the Process Definition page, click Java Virtual Machine.
- In the Initial Heap Size field, specify a value.
- Click Apply or OK.
- Save the configuration.
- Stop and restart the application server.
- Default value: For iSeries, the default value is 96.
- Recommended value: 96MB per processor
- Maximum heap size
- Description: This parameter specifies the maximum heap size available to the JVM code, in megabytes.
- How to view or set:
- Start the administrative console.
- In the topology tree, expand Servers and click Application Servers.
- Click the name of the application server that you want to configure.
- Click Process Definition.
- On the Process Definition page, click Java Virtual Machine.
- The value is displayed in the Maximum Heap Size field.
- Click Apply or OK.
- Save the configuration.
- Stop and restart the application server.
- Default value: For iSeries, the default value is 0. A value of 0 specifies that there is no maximum value.
- Recommended value: It is recommended that you do not change the maximum heap size. When the maximum heap size triggers a garbage collection cycle, the iSeries JVM's garbage collection stops operating asynchronously. As a result, the application server cannot process user threads until the garbage collection cycle ends, and performance is significantly lower.
- Just-In-Time (JIT) compiler
- Description: A Just-In-Time (JIT) compiler is a platform-specific compiler that generates machine instructions for each method as needed. For more information, see Using the Just-In-Time compiler and Just-In-Time compiler in the IBM Developer Kit for Java topic.
- How to view or set:
- Start the administrative console.
- In the topology tree, expand Servers and click Application Servers.
- Click the name of the application server that you want to configure.
- Click Process Definition.
- On the Process Definition page, click Java Virtual Machine.
- If you want to disable JIT, select the checkbox for Disable JIT.
- Click Apply or OK.
- Save the configuration.
- Stop and restart the application server.
- Default value: By default, JIT is enabled.
- Recommended value: It is recommended that you do not disable the JIT compiler. The os400.jit.mmi.threshold can have a significant effect on performance. For more information about the JIT compiler and the os400.jit.mmi.threshold property, see Just-In-Time compiler in the IBM Developer Kit for Java topic.