1 Diagnostics Roadmap

This chapter provides a roadmap to help you solve problems with the Oracle JRockit JVM.

The roadmap to solve problems with the Oracle JRockit JVM consists of the following steps:

Step 1: Eliminate or Identify Common Causes

Often, problems that you encounter while running an application on the JRockit JVM are caused by issues that can be diagnosed and solved with minimal effort. Table 1-1 provides a list of actions that you can take to quickly diagnose and solve basic JVM problems.

Note:

The list is not in any particular order. You can perform each action separately.

Table 1-1 Actions to Identify and Eliminate Common Causes for JRockit JVM Problems

Action Effect or Significance

Reinstall the JRockit JVM

This action might correct problems that are caused by installation issues. You can find the relevant installation instructions in Oracle JRockit Installation Guide.

Install the latest patches for the application running on the JRockit JVM

This action might correct problems that are caused by issues in the application running on the JRockit JVM.

Install the latest release of the JRockit JVM

This action corrects problems that are fixed in a later release of the JRockit JVM.

For information about problems fixed in the release, see the Oracle JRockit Release Notes.

Try to reproduce the problem on the same machine

A problem that can be reproduced every time a certain sequence of steps are performed could indicate a straightforward programming error. If, however, the problem occurs intermittently (at varying or fixed intervals), thread interaction and timing problems are more likely.

Try to reproduce the problem on another machine

A problem that occurs on only one machine might be caused by the hardware (number of processors), the operating system, and the application software. For example, the visibility of a race condition in the JVM or a user Java application might be influenced by the speed at which certain operations are performed by the JVM.

Ensure that you are using a supported operating system with the latest patches installed

This action might correct problems that are caused by an unsupported operating system.

Ensure that third-party JNI code you run is of the latest version

This action might correct problems that are caused by issues in the third-party JNI code.

If the JRockit JVM has crashed, you can find out the libraries (.dll or .so files) that are loaded by looking in the text crash file (.dump). You can then identify the updates you might need.

Turn off code optimization by using -XnoOpt

Optimization makes code more efficient. Turning off code optimization might help you identify problems related to optimization.


Step 2: Observe the Symptoms

When you encounter a problem, observe the application behavior carefully and record the symptoms.

Step 3: Identify and Resolve the Problem

Table 1-2 lists symptoms of common JRockit JVM problems, and points you to chapters that contain information to help you diagnose and resolve the problems. Perform the tasks described in the chapters corresponding to the problem you are trying to resolve.

Table 1-2 Symptoms of Common JRockit JVM Problems

Symptom For Diagnostics Information, See

The JVM crashes and produces a dump.

Chapter 6, "Crashing JVM"

The JVM takes too long to start.

Chapter 2, "Slow JVM Startup"

Some transactions take too long to execute even though the overall throughput is acceptable.

Chapter 3, "Long Latencies"

The overall throughput is too low.

Chapter 4, "Low Overall Throughput"

After running well for a while, the JVM begins to perform poorly. For example:

  • The overall throughput degrades.

  • The overall throughput is unstable.

  • The JVM starts reporting wrong results.

  • The JVM throws exceptions when it should not.

Chapter 5, "Performance Degradation"

The JVM is freezing (without crashing).

Chapter 7, "Freezing JVM"


Step 4: Contact Oracle Support

If you are a licensed JRockit JVM user and are unable to resolve the problem on your own, contact Oracle Support.

For more information, see Chapter 9, "Contacting Oracle for Support".