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.
Application server | server_name. Then, in the Server Infrastructure section, click |
Deployment manager | System Administration > Deployment manager. Then, in the Server Infrastructure section, click |
Node agent | System Administration > Node agent > node_agent. Then, in the Server Infrastructure section, click |
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.
Data type | String |
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.
Specifies whether to use verbose debug output for class loading. The default is to not enable verbose class loading.
Data type | Boolean |
Default | false |
Specifies whether to use verbose debug output for garbage collection. The default is not to enable verbose garbage collection.
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.
83.29/3724.32 * 100 = 2.236 percent
If you are spending more than 5 percent of your time in garbage collection and if garbage collection is occurring frequently, you might need to increase your Java heap size.
To determine if the allocated heap is growing, look at the percentage of the heap that is remains unallocated after each garbage collection cycle, and verify that the percentage is not continuing to decline. If the percentage of free space continues to decline you are experiencing a gradual growth in the heap size from garbage collection to garbage collection. This situation might indicate that your application has a memory leak.
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 |
Specifies, in megabytes, the initial heap size available to the JVM code. If this field is left blank, the default value is used.
For IBM i and distributed platforms, the default initial heap size is 50 MB.
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.
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.
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.
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 |
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.
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 |
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 |
Specifies command-line arguments to pass to the Java virtual machine code that starts the application server process.
You can use -Dcom.ibm.server.allow.sigkill=true to allow the node agent process to use the terminate method of a process when the stop method does not complete within the time interval specified for the Ping interval. This setting is useful when the node agent is monitoring an application server and loses contact with that application server.
When the monitoring policy for the application server allows the node agent to restart the application server because automatic restart is enabled for the application server, the node agent executes the stop method on the application server process. During stop processing, the node agent monitors the application server and if the application server does not stop within the time interval specified for the Ping interval, and this argument is set to true, the node agent executes the terminate method on the application server process to stop the application server process.
If you do not specify this argument, or if the argument is set to false, the node agent continues to monitor the stop process, but does not try to restart the application server.
To use the administrative console to enable this argument, click System Administration > Node agents > nodeagent_name > Java & Process Management > Process Definition > Java Virtual Machine > Generic JVM Arguments
Use the -XXallowvmshutdown:false argument to revert to a previous behavior for the JVM that is not correct. Java 5.0 SR10 and Java 6 SR5 correct issues in which the Java Virtual Machine (JVM) does not shut down correctly. If you have an application that depends on the old behavior, you can revert to the previous behavior by adding the this argument to the Generic JVM arguments section.
Data type | String |
Units | Java command-line arguments |
Specifies a full path name for an executable JAR file that the JVM code uses.
Data type | String |
Units | Path name |
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 |
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.