Skip navigation.
Downloads | Product Documentation | Support

Tuning the JRockit JVM

# Introduction to Tuning BEA 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:

- How BEA JRockit is Tuned
- JVM Tuning Terminology
- What You'll Find in Tuning BEA JRockit JVM

# How BEA JRockit is Tuned

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.

# JVM Tuning Terminology

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.

  Garbage collector

  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.

  Application throughput

  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.

  Pause time

  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.

# What You'll Find in Tuning BEA JRockit JVM

This guide is divided into these sections:

- Tuning BEA JRockit JVM describes the basic tuning parameters for the JVM. The instructions in this section describe default and optimal heap and nursery settings and how to use them to tune the JVM.
- Basic Tuning Tips and Techniques contains some helpful hints for maximizing system performance by tuning BEA JRockit to provide either optimal memory throughput or minimal garbage collection pause times.