Skip to main content

Performance Analysis Tool for Java

A tool that automatically detects Java threads that consume unanticipated large amounts of system resources.

Date Posted: September 2, 2008

alphaworks tab navigation


 

Update: July 21, 2009
Version 2.1 supports PHD-CSV 4.0 file format.

 

What is Performance Analysis Tool for Java?

Performance Analysis Tool for Java™ is much different than other widely available performance tools. Because it does not employ profiling, it does not have high overhead; therefore, the likelihood of possible down time is greatly reduced. This characteristic makes this tool particularly attractive for production environments, where starting and stopping to evaluate performance results can greatly harm productivity.

When a resource is constraining the system, it is crucial to find threads that consume the majority of system resources. Performance Analysis Tool for Java analyzes the Windows® performance log and Java thread dumps and automatically detects Java threads that consume the majority of system resources. Examples of such threads are as follows:

How does it work?

The target system need not be restarted or interrupted in order to execute Performance Analysis Tool for Java. The target system is configured to monitor system resources using the default tool for monitoring system performance. Processor resource, paging, virtual address space, and other resources can be monitored without any interruption or instability on the target system. This characteristic is critical for a production system running business applications.

When exhaustion of system resources is noticed, the signal QUIT can be sent to target the Java process in order to collect Java thread dumps.

After necessary data is collected, the system can be configured to disable monitoring without interrupting the target system.

Performance Analysis Tool for Java can be invoked to parse the Windows performance log and to analyze Java thread dumps from an IBM Java virtual machine.

The tool calculates system resource use for each process and Java thread and generates charts and tables showing, for example, average processor time for each Java thread, the amount of input and output going to disk drive paging per second, and changes in virtual address space.

After profile data and statistics are calculated for each process and Java thread, the tool searches Java thread dumps to find thread information for each Java thread; thread information includes Java stack trace, native stack trace, execution status, and the Java thread name associated with system resource use.

About the technology author(s)

Jinwoo Hwang

Jinwoo Hwang is a software engineer, a team leader, and a technical leader within the WebSphere Application Server Technical Support team, which is based in Research Triangle Park, N.C. He joined IBM in 1995 and worked with IBM Global Learning Services, IBM Consulting Services, and development prior to his current position. Mr. Hwang is an IBM Certified Solution Developer as well as a SUN Certified Programmer for the Java 2 platform. He is the architect and developer of the following tools:

Mr. Hwang is also the author of the book C Programming for Novices (Yonam Press, 1995).

Trademarks




Related technologies