Performance Inspector™


Links

 

 
Overview

The Performance Inspector package contains a suite of performance analysis tools for Linux®. These tools can be used to help identify performance problems in your application as well as how your application interacts with the Linux kernel. The package uses a pinned buffer per CPU along with a set of kernel hooks to capture performance related information. The tools will help you gain a better understanding of the performance of your applications and the resources they consume. Performance Inspector works with standard "C/C++" programs as well as Java™ applications. Performance Inspector uses the performance counters provided by the CPUs to measure system events at the pid level. The majority of this project is LGPL code, and the rest is GPL. The package consists of a device driver and support routines. Device driver can be installed using two basic methods:
1) 2.6 kernels: Dynamically installing into a running kernel (this method has been tested with selected SuSE and RedHat kernels).
2) 2.4. kernels: Using a kernel patch and rebuilding the kernel.


 

  Tools provided in this package - documentation links:

  • A2N - Address to name resolution, used by post to map code execution to the application that was being traced.
  • AI - Above Idle. A lightweight busy/idle tool, reports the percentage of time that a CPU(s) is spending in the idle loop.
  • cpi - Measures CPI (cycles per instruction) for an application or a time interval.
  • hdump - Provides a snapshot of live memory objects on the Java heap.
  • hookit - a shared library that interfaces with jprof to profile C/C++ applications.
  • ITrace - Instruction Trace.
  • JLM - Java lock monitor.
  • JProf - Java profiler, a shared library that interfaces with Java jvmpi or jvmti interfaces.
  • mpcnt - Manipulate hardware performance counters on supported platforms.
  • mpevt - Manipulate hardware performance counter events on supported platforms.
  • msr - Read and write (Model-Specific Registers) on supported platforms.
  • perfutil - OS-specific kernel driver API and tools.
  • post - post processing tool.
  • PTT - Per Thread Time, monitors the amount of time or instructions executed on the thread level.
  • rtdriver - Socket command interface to jprof.
  • skew - Skew processor clocks (TSC register) on supported SMP platforms.
  • swtrace - Software Trace control program to interface with our device driver.
  • TProf - timer profiler, reports "hotspots" in applications as well as in the kernel.

Notes:
Current packages include support for x86, x86_64, PPC-64, and S390 platforms.



 

 

Related tools

There are other tools that have similar capability: Linux Trace Toolkit, Oprofile, dProbes, as well as others.


 



 

Contacts

Frank Levine levinef@us.ibm.com for all platforms.

 



  Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
IBM is a trademark of International Business Machines Corporation in the United States, other countries, or both
Other company, product or service names may be trademarks or service marks of others.
MMX, Pentium, and ProShare are trademarks or registered trademarks of Intel Corporation in the United States, other countries, or both.