Welcome to Topaz for Java Performance

Topaz for Java Performance provides the information needed to tune a Java Virtual Machine (JVM) on z/OS. There are several items that affect the performance of a JVM. Topaz for Java Performance is targeted at WebSphere and Java Batch. The JVMs in these different environments will encounter completely different program load characteristics. For example, the WebSphere JEE environment will run many different relatively small transactions whereas the Java Batch typically executes a single long-running program. These different program characteristics require different resource allocation in the JVMs. These resources include memory, CPU, classes and threads in the JVMs. The right combination of these resources is vital for the efficient execution of programs and transactions.

Topaz for Java Performance focuses on the sampling memory, threads, CPU usage, and classes used. Since the JVM manages the allocation and release of memory, one important area of tuning is memory garbage collection. Garbage collection finds unused objects and compacts them into one area where the memory can be reallocated. The garbage collection event is started when the JVM determines it is running low on memory. The IBM JVM provides a few different garbage collection algorithms to try to optimize the timing and approach to reclaiming unused memory objects. The Topaz for Java Performance JVM Memory Chart helps you see the garbage collection occurring in the JVM. This chart will show whether garbage collection is occurring too frequently so increased memory allocation can be considered. Topaz for Java Performance also shows the existing memory parameters passed to the JVM.

Threads in a Java Program are a unit of execution that can run on different general CPU (GCPU) or specialty processors on z/OS, such as zAAP processors. Threads may try to access shared resources, generally memory. Sharing objects between threads can mean that a thread is waiting for resource that isn’t available and therefore isn’t doing any work. Topaz for Java Performance provides a table of threads that includes the percent of time a thread is waiting. These waiting values provide an indication of how much work a thread can accomplish. If a thread is constantly waiting, the Java program may have encountered a bug where the resource isn’t released or the program is poorly designed. In either case, a high thread wait time means some investigation is required in a Java program or transaction.

On System z running z/OS Unix, there is always concern about the amount of CPU being used because of the charges associated with its use. IBM has provided some relief from these CPU charges by introducing specialty processors that have a different cost structure. Java code may be eligible to run on the specialty processors and at a reduced cost. This advantage is one of the attractions of running Java programs on z/OS Unix. Compuware’s iStrobe product provides a view of the amount of GCPU used by a job running the JVM and it provides a view of the amount of specialty engine CPU used the job. This provides an “outside” view of the JVM CPU usage. Inside the JVM iStrobe has limited knowledge of the type of processor on which a thread is executing. Topaz for Java Performance provides information about performance inside of the JVM. Topaz for Java uses a sampling approach to approximate the amount of CPU that is by different classes. This technique provides low cost measurements that guide users to the most resource-intensive Java classes in your Java program.

The information available from Topaz for Java Performance can guide your JVM tuning approaches to improve JVM transaction throughput and reduce program execution times.

To launch Topaz for Java Performance

Do either of the following:

  • In a browser, enter the following: <machine name>:<CES web application listener port>/topazjava.

  • On the Compuware Enterprise Services landing page, click and select Topaz for Java Performance. If it is not installed, Topaz for Java Performance is disabled.

When initially launched, Topaz for Java Performance opens to a page from which users can access the product features:

  • Measurements allows users to view, submit, and manage measurements.

  • Trend Reports allows users to understand the java program performance over a series of measurement time frames.

From the Topaz for Java Performance home page, users can access the Measurement page, access the Trend Reports page, launch the online help, and view version, build, copyright, and other Topaz for Java Performance information.

To access the Measurements page

Do one of the following:

  • Click .

  • Click and then select Measurements.

The Measurements page appears.

To access the Trend Reports page

Do one of the following:

  • Click .

  • Click and then select Trend Reports.

The Topaz for Java Trend Reports page appears.

To launch the online help

Click . Online help for the selected page appears.

To view version, build, copyright, and other Topaz for Java Performance information

Click . The About Topaz for Java Performance dialog box appears. As well, you can collect support files to help Compuware Customer Support evaluate issues for resolution.