Java virtual machine settings

Use this page to view, and change the Java virtual machine (JVM) configuration settings of a process for an application server.

To view this administrative console page, connect to the administrative console and navigate to the Java virtual machine panel.

For the z/OS® platform follow one of the following paths.
Application server Click Servers > Server Types > WebSphere application servers > server_name. Then, in the Server Infrastructure section, click Java and process management > Process definition > Control > Java virtual machine
Deployment manager Click System Administration > Deployment manager. Then, in the Server Infrastructure section, click Java and process management > Process definition > Control > Java virtual machine
Node agent Click System Administration > Node agent > node_agent. Then, in the Server Infrastructure section, click Java and process management > Process definition > Java virtual machine
For IBM® i and distributed platforms, follow one of the following paths.
Application server Servers > Server Types > WebSphere application servers > server_name. Then, in the Server Infrastructure section, click Java and process management > Process definition > Java virtual machine
Deployment manager System Administration > Deployment manager. Then, in the Server Infrastructure section, click Java and process management > Process definition > Java virtual machine
Node agent System Administration > Node agent > node_agent. Then, in the Server Infrastructure section, click Java and process management > Process definition > Java virtual machine

Classpath

Specifies the standard class path in which the Java virtual machine code looks for classes.

If you need to add a classpath to this field, enter each classpath entry into a separate table row. You do not have to add a colon or semicolon at the end of each entry.

The only classpaths that should be added to this field are the ones that specify the location of the following items:
Processing errors might occur if you add classpaths to this field that specify the location of the following items:
Data type String

Boot classpath

Specifies bootstrap classes and resources for JVM code. This option is only available for JVM instructions that support bootstrap classes and resources.

If you need to add a classpath to this field, enter each classpath entry into a table row. You do not need to add the colon or semicolon at the end of each entry.

If you need to add multiple classpaths to this field, you can use either a colon (:) or semi-colon (;), depending on which operating system the node resides, to separate these classpaths.

The only classpaths that should be added to this field are the ones that specify the location of the following items:
Processing errors might occur if you add classpaths to this field that specify the location of the following items:

Verbose class loading

Specifies whether to use verbose debug output for class loading. The default is to not enable verbose class loading.

If verbose class loading is enabled, the debug output is sent to one of the native process logs.

Data type Boolean
Default false

Verbose garbage collection

Specifies whether to use verbose debug output for garbage collection. The default is not to enable verbose garbage collection.

If verbose garbage collection is enabled, the debug output is sent to one of the native process logs.

Data type Boolean
Default false

When this field is enabled, a report is written to the output stream each time the garbage collector runs. This report should give you an indication of how the Java garbage collection process is functioning.

You can check the verboseGC report to determine:

On the z/OS platform, you can also issue the MVS console command, modify display, jvmheap, to display JVM heap information. In addition, you can check the server activity and interval SMF records. The JVM heap size is also made available to PMI and can be monitored using the Tivoli® Performance Viewer.

Verbose JNI

Specifies whether to use verbose debug output for native method invocation. The default is not to enable verbose Java Native Interface (JNI) activity.

Data type Boolean
Default false

Initial heap size

Specifies, in megabytes, the initial heap size available to the JVM code. If this field is left blank, the default value is used.

For z/OS, the default initial heap size for the controller is 48 MB, and the default initial heap size for the servant is 128 MB. These default values apply for both 31-bit and 64-bit configurations.

For IBM i and distributed platforms, the default initial heap size is 50 MB.

Best practice Best practice: These default values are sufficient for most applications.bprac
Avoid trouble Avoid trouble: For IBM i, the initial heap size must always be less than the maximum heap size. Never set the initial heap size and maximum heap size properties to the same value.gotcha

Increasing this setting can improve startup. The number of garbage collection occurrences are reduced and a 10 percent gain in performance is achieved.

Increasing the size of the Java heap continues to improves throughput until the heap becomes too large to reside in physical memory. If the heap size exceeds the available physical memory, and paging occurs, there is a noticeable decrease in performance.

Maximum heap size

Specifies, in megabytes, the maximum heap size that is available to the JVM code. If this field is left blank, the default value is used.

The default maximum heap size is 256 MB. This default value applies for both 31-bit and 64-bit configurations.

Increasing the maximum heap size setting can improve startup. When you increase the maximum heap size, you reduce the number of garbage collection occurrences with a 10 percent gain in performance.

Increasing this setting usually improves throughput until the heap becomes too large to reside in physical memory. If the heap size exceeds the available physical memory, and paging occurs, there is a noticeable decrease in performance. Therefore, it is important that the value you specify for this property allows the heap to be contained within physical memory.

To prevent paging, specify a value for this property that allows a minimum of 256 MB of physical memory for each processor and 512 MB of physical memory for each application server. If processor utilization is low because of paging, increase the available memory, if possible, instead of increasing the maximum heap size. Increasing the maximum heap size might decrease performance rather than improving performance.

For the classic JVM, when this property is set to 0, the garbage collector runs only when the garbage collector threshold is reached. When a value other than 0 is specified, the garbage collector runs whenever the heap size reaches the specified maximum size. However, unlike a normal garbage collector, if the maximum size is reached, all application threads must wait until the garbage collection process finishes before they can continue running. This situation might cause undesirable pause times. Therefore, use the maximum heap size as a safety net to handle occurrences of unexpected heap growth, and to ensure that the heap does not grow larger than the available memory. Under usual circumstances, the specified maximum heap size is never reached.

Best practice Best practice: These default values are appropriate for most applications. Enable the Verbose garbage collection property if you think garbage collection is occurring too frequently. If garbage collection is occurring too frequently, increase the maximum size of the JVM heap.bprac

Run HProf

Specifies whether to use HProf profiler support. To use another profiler, specify the custom profiler settings using the HProf Arguments setting. The default is not to enable HProf profiler support.

If you set the Run HProf property to true, then you must specify command-line profiler arguments as values for the HProf Arguments property.

Data type Boolean
Default false

HProf arguments

Specifies command-line profiler arguments to pass to the JVM code that starts the application server process. You can specify arguments when HProf profiler support is enabled.

HProf arguments are only required if the Run HProf property is set to true.

Debug mode

Specifies whether to run the JVM in debug mode. The default is to not enable debug mode support.

If you set the Debug mode property to true, then you must specify command-line debug arguments as values for the Debug arguments property.

Data type Boolean
Default false

Debug arguments

Specifies command-line debug arguments to pass to the JVM code that starts the application server process. You can specify arguments when the Debug mode property is set to true.

If you enable debugging on multiple application servers on the same node, verify that the same value is not specified for the address argument. The address argument defines the port that is used for debugging. If two servers, for which debugging is enabled, are configured to use the same debug port, the servers might fail to start properly. For example, both servers might still be configured with the debug argument address=7777, which is the default value for the debug address argument.

Data type String
Units Java command-line arguments

Generic JVM arguments

Specifies command-line arguments to pass to the Java virtual machine code that starts the application server process.

You can enter the following optional command-line arguments in the Generic JVM arguments field. If you enter more than one argument, enter a space between each argument.
Avoid trouble Avoid trouble: If the argument states that it is only for the IBM® Developer Kit only, you cannot use that argument with the JVM from another provider, such as the Microsoft® or Hewlett-Packardgotcha
Data type String
Units Java command-line arguments

Executable JAR file name

Specifies a full path name for an executable JAR file that the JVM code uses.

Data type String
Units Path name

Disable JIT

Specifies whether to disable the just-in-time (JIT) compiler option of the JVM code.

If you disable the JIT compiler, throughput decreases noticeably. Therefore, for performance reasons, keep JIT enabled.

Data type Boolean
Default false (JIT enabled)
Recommended JIT enabled

Operating system name

Specifies JVM settings for a given operating system.

When the process starts, the process uses the JVM settings that are specified for the node as the JVM settings for the operating system.




Related tasks
Configuring the JVM
Tuning the application serving environment
Related reference
Custom property collection
Process logs
Reference topic Reference topic    

Terms and conditions for information centers | Feedback

Last updatedLast updated: Feb 5, 2014 9:49:51 PM CST
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=compass&product=was-nd-mp&topic=urun_rconfproc_jvm
File name: urun_rconfproc_jvm.html