IBM®
Skip to main content
    United States change      Terms of use
 
 
Select a scope:    
     Home      Products      Services & industry solutions      Support & downloads      My account     
alphaWorks  >  Java technology  >  

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
OverviewRequirements Download FAQs Forum Reviews

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:

  • Processor resource: The amount of processor time for each Java thread can be identified. Monitoring of processor time for each Java thread and of the total processor time provides valuable information about processor use and specific Java threads that consume unexpected amounts of processor resources. Total processor time represents the percentage of elapsed time in which processors are busy executing non-idle Java threads.
  • Paging: the amount of input and output going to disk drive paging. It is often useful to be able to monitor the paging use on a system because this use will have a direct effect on the performance of a Java application running on the system: Excessive paging could use substantial hard disk devices. In order to determine the impact of excessive paging on disk activity, monitor the paging. If paging is constantly large, adding more physical memory is recommended.
  • Memory: virtual address space. Monitoring the process size makes it possible to determine whether performance degradation is caused by the exhaustion of the virtual address space, which is a strong indication of a "native" memory leak rather than a leak involving Java objects.

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).


Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.
Other company, product, or service names may be trademarks or service marks of others.

View screenshots:
View of system resource use

Download now Download now

Related technologies

For platform(s):
Windows

For topics:
analysis, Java technology, performance


 

    About IBM Privacy Contact