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 i5/OS and distributed platforms base WebSphere Application Server and the WebSphere Application Server - Express, click Servers > Application Servers > server1. Then, under Server Infrastructure, click Java and Process Management > Process definition > Java Virtual Machine
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.
Enter each classpath entry into a table row. You do not need to add the 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 multiple classpaths to this field, you can use either a colon (:) or semi-colon (;), depending on which operating system the JVM resides, to separate these classpaths.
Data type | String |
Specifies whether to use verbose debug output for class loading. The default is not to 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 idea of what is going on with Java garbage collection.
83.29/3724.32 * 100 = 2.236%
If you are spending more than 5% of your time in GC and if GC is occurring frequently, you may need to increase your Java heap size.
To determine this, look at the %free. You want to make sure the number is not continuing to decline. If the %free continues to decline you are experiencing a gradual growth in allocated heap from GC to GC which could 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 the initial heap size available to the JVM code, in megabytes.
Increasing the minimum heap size can improve startup. The number of garbage collection occurrences are reduced and a 10% gain in performance is realized.
Increasing the size of the Java heap improves throughput until the heap no longer resides in physical memory, in general. After the heap begins swapping to disk, Java performance suffers drastically.
Data type | Integer |
Default | For i5/OS, the default is 96 |
For the majority of applications these defaults should work quite well.
Specifies the maximum heap size available to the JVM code, in megabytes.
Increasing the heap size can improve startup. By increasing heap size, you can reduce the number of garbage collection occurrences with a 10% gain in performance.
Increasing the size of the Java heap usually improves throughput until the heap no longer resides in physical memory. When the heap size exceeds the physical memory, the heap begins swapping to disk which causes Java performance to drastically decrease. Therefore, it is important to set the maximum heap size to a value that allows the heap to be contained within physical memory.
For the classic JVM, when this property is set to 0 (zero), the garbage collector runs only when the garbage collector threshold has been 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 has finished before they can continue running. This might cause undesirable pause times. Therefore, you should use the maximum heap size as a safety net to handle times of unexpected heap growth and to ensure that the heap doesn't grow larger than the available memory. Under normal circumstances, the specified maximum heap size should never be reached.
Data type | Integer |
Default | For i5/OS, the default is 0, which indicates that no maximum heap size is set. |
For the majority of applications these defaults should work quite well. You can monitor the frequency of garbage collection by enabling Verbose garbage collection field. If garbage collection is occurring too frequently you should increase the maximum size of the JVM heap.
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.
Data type | String |
Specifies whether to run the JVM in debug mode. The default is not to 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 Debug Mode is enabled.
For base WebSphere Application Server and the WebSphere Application Server - Express configurations, Debug arguments are only required if the Debug Mode property is set to true. If you enable debugging on multiple application servers, make sure that the servers are using different address arguments, which define the port for debugging. For example, if you enable debugging on two servers and leave the default debug port for each server as address=7777, the servers could fail to start properly.
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.
Use -Dcom.ibm.CORBA.RequestTimeout=timeout_interval to specify the timeout period for responding to requests sent from the client. This argument uses the -D option. timeout_interval is the timeout period in seconds. If your network experiences extreme latency, specify a large value to prevent timeouts. If you specify a value that is too small, an application server that participates in workload management can time out before it receives a response.
Be careful specifying this property; it has no recommended value. Set it only if your application is experiencing problems with timeouts.
Use the -Dcom.ibm.websphere.wlm.unusable.interval=interval argument to change the value for the com.ibm.websphere.wlm.unusable.interval property if the workload management state of the client is refreshing too soon or too late. This property specifies the time interval that the workload management client run time waits after it marks a server as unavailable before it attempts to contact the server again. This argument uses the -D option. interval is the time in seconds between attempts. The default value is 300 seconds. If the property is set to a large value, the server is marked as unavailable for a long period of time. This prevents the workload management refresh protocol from refreshing the workload management state of the client until after the time period has ended.
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.
For the base WebSphere Application Server and the WebSphere Application Server - Express products, when the process starts, the process uses the JVM settings specified for the server as the JVM settings for the operating system.
Data type | String |