Tuning the JRockit JVM
There are some ways that you can improve performance of your BEA JRockit JVM, even though most of the tuning that is needed is done automatically when the JVM adapts to its underlying hardware and to the applications running on it. For example, you can control how much Java memory you want the JVM to use. This guide will help find ways to where it is possible to tune JRockit so that it will increase performance and work better for your application and system.
This section includes information on the following subjects:
BEA JRockit JVM has a number of non-standard startup parameters, called -X
options, that allow you to better tune the JVM for your specific application. This guide documents the different startup parameters and what you need to know about setting them to be able to tune the JVM to ensure optimal performance for your application.
Before continuing, there are some terms you should understand. You may already be familiar with some of the terms, especially if you have read any other documents about garbage collectors.
The garbage collector is the key to effectively managing BEA JRockit's memory system, which is the ultimate goal of JVM tuning. Garbage collection is the process of clearing dead objects from the heap, thus releasing that space for new objects.
The garbage collector is optimized for application throughput. This means that the garbage collector works as effectively as possible, giving as much CPU resources to the Java threads as possible. This may, however, cause non-deterministic pauses when the garbage collector stops all Java threads for garbage collection.The throughput priority should be used when non-deterministic pauses do not impact the application's behavior.
The garbage collector is optimized to limit the length of each garbage collection pause where all Java threads are stopped for garbage collection. This may result in lower application throughput, as the garbage collector uses more CPU resources in total than when running with the throughput priority. The pause time priority should be used when the application depends on an even performance. Use -Xpausetarget
to set a target length for the garbage collection pauses.
This guide is divided into these sections: