Java Virtual Machine settings
View and change the Java Virtual Machine configuration for the appserver's process.
Servers > Application Servers > server_name > Process Definition > Java Virtual Machine.
Configuration tab
Classpath
- Specifies the standard class path in which the Java Virtual Machine code looks for classes.
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 Units Class path
Boot Classpath
- Specifies bootstrap classes and resources for JVM code. This option is only available for JVM instructions that support bootstrap classes and resources. One can separate multiple paths by a colon (:) or semi-colon (;), depending on operating system of the node.
Data type String
Verbose Class Loading
- Specifies whether to use verbose debug output for class loading. The default is not to enable verbose class loading.
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.
Data type Boolean Default false
Verbose JNI
- Specifies whether to use verbose debug output for native method invocation. The default is not to enable verbose Java Native Interface activity.
Data type Boolean Default false
Initial Heap Size
- 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.
In general, increasing the size of the Java heap improves throughput until the heap no longer resides in physical memory. After the heap begins swapping to disk, Java performance suffers drastically.
Data type Integer Default 64 for OS/400, 50 for all other platforms
Maximum Heap Size
- Specifies the maximum heap size available to the JVM code, in megabytes.
Increasing the heap size can improve startup. The number of garbage collection occurrences are reduced and a 10% gain in performance is realized.
In general, increasing the size of the Java heap improves throughput until the heap no longer resides in physical memory. After the heap begins swapping to disk, Java performance suffers drastically. Therefore, set the maximum heap size low enough to contain the heap within physical memory.
Data type Integer Default 0 for OS/400, 256 for all other platforms. Keep the value low enough to avoid paging or swapping-out-memory-to-disk.
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 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 appserver process. One 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
Debug Mode
- 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 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 appserver process. One can specify arguments when Debug Mode is enabled.
Debug arguments are only required if the Debug Mode property is set to true.
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 appserver process.
The following are optional command line arguments that you can use by entering them into the General JVM Arguments field:
- -Xquickstart: One can use this value for initial compilation at a lower optimization level than in default mode, and later, depending on sampling results, you can recompile to the level of the initial compile in default mode. Use quickstart for applications where early moderate speed is more important than longrun throughput. In some debug scenarios, test harnesses and short-running tools, it is possible to realize startup time gains between 15-20%. -DCOPT_NQREACHDEF can improve startup by an additional 15%.
- -Xverify:none: When using this value, the class verification stage is skipped during class loading . By using -Xverify:none with the just in time (JIT) compiler enabled, startup time is improved by 10-15%.
- -Xnoclassgc: One can use this value to disable class garbage collection, making class reuse more available, and slightly improving performance. Class garbage collection is enabled by default, but it is recommended that you enable it. One can monitor garbage collection using the verbose:gc configuration setting because its output includes class garbage collection statistics.
- -Xgcthreads: One can use several garbage collection threads at one time, also known as parallel garbage collection. When entering this value in the Generic JVM Arguments field, also enter the number of processors that your machine has, for example, -Xgcthreads= number_of_processors. It is recommended that you use parallel garbage collection if your machine has more than one processor. This argument applies only to the IBM Developer Kit.
- -Xnocompactgc: This value disables heap compaction which is the most expensive garbage collection operation. Avoid compaction in IBM Developer Kit 1.3. If you disable heap compaction, you eliminate all associated overhead. When entering this value in the Generic JVM Arguments field, also enter the number of processors that your machine has, for example, -Xnocompactgc= number_of_processors.
- -Xinitsh: One can use this value to set the initial heap size where class objects are stored. The method definitions and static fields are also stored with the class objects. Although the system heap size has no upper bound, set the initial size so that you do not incur the cost of expanding the system heap size, which involves calls to the operating system memory manager. One can compute a good initial system heap size by knowing the number of classes loaded in the WebSphere product, which is about 8,000 classes, and their average size. Having knowledge of the application helps you include them in the calculation.
- -Xmc: The thread local heap size is a portion of the heap that is allocated exclusively for a thread. Because of the thread local heap size, the thread does not need to lock the entire heap when allocating objects. However, when the thread local heap is full, object allocation is done from the heap that needs synchronization. A good local cache size is critical to performance and requires knowledge of the application and its objects.
- -Xml: One can use this value to set the limit of an object size to allocate from the local cache. Objects that exceed the limit size need allocating in the regular heap. Allocate objects from the local cache as much as possible or the local cache depletes because it does not grow dynamically. If you know some objects are going to be very large, allocate them from the regular heap.
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 started, the process uses the JVM settings for the operating system of the node.
Data type String
Java Virtual Machines (JVMs)
Using the JVM
Tuning performance
Administrative console buttons
Administrative console page features
Custom Properties
Tuning parameter index