HPjmeter 4.2 Users Guide
Document Notice
Table of Contents
Monitoring Applications
Analyzing Garbage Collection Data
116
Unfinalized Objects
Live Objects Bytes
192
187
197
199
Intended Audience
About This Document
Typographic Conventions
Additional HPjmeter Documents Related Information
HP Encourages Your Comments
Publishing History
Introducing HPjmeter
Features
JVM Agent
Concepts
Node Agent
Platform Support and System Requirements
Completing Installation of HPjmeter
Agent Requirements
Console Requirements
File Locations
Completing the installation
Attaching to the JVM Agent of a Running Application
Preparing to run Java
On Java
Example Usage
Showing Version Information
JVM Agent Options
Selecting Other JVM Agent Options
Include=filter1filter2..., exclude=filter1filter2
To specify a file name
Noalloc
JVM Options Usage Examples
Security Awareness
Working with Firewalls
Configuring User Access
Getting Started
Using HPjmeter to Monitor Applications
To connect to a node agent via a SecureShell SSH tunnel
Using HPjmeter to Monitor Applications
Set Session Preferences
When the Optional Port Box Is Not Used
Getting Started
Changing Session Preferences During a Session
Using HPjmeter to Analyze Profiling Data
View Monitoring Metrics During Your Open Session
Configure your application
Using HPjmeter to Analyze Garbage Collection Data
Monitoring Demonstration Instructions
Memory Leak Applications
See also Heap Usage Notification
Thread Deadlock Sample
Thread Deadlock Example Display
Monitoring Applications
Setting Data Collection Preferences
Controlling Data Collection and Display
Managing Node Agents On HP-UX
Managing Node Agents
Running Node Agent as a Daemon
Verifying HP-UX Daemon is Running
Saving Monitoring Metrics Information
Node Agent Access Restrictions
Running Multiple Node Agents
Stopping Node Agents
Naming Monitoring Data Files
Diagnosing Errors When Monitoring Running Applications
Saving Data from the Console
Identifying Unexpected CPU Usage by Method
Viewing the Application Load
Checking for Application Paging Problems
Checking for Long Garbage Collection Pauses
Reviewing the Percentage of Time Spent in Garbage Collection
Identifying Excessive Calls to System.gc
Monitoring Applications
Confirming Java Memory Leaks
Checking for Proper Heap Sizing
Determining the Severity of a Memory Leak
Identifying the Site of Excessive Object Allocation
Identifying Excessive Object Allocation
Identifying Abnormal Thread Termination
Identifying Multiple Short-lived Threads
Identifying Deadlocked Threads
Identifying Excessive Lock Contention
Identifying Excessive Thread Creation
Example Metric Method Compilation Count
Identifying Excessive Method Compilation
Identifying Too Many Classes Loaded
Using the JMX Viewer
JMX Summary Tab
Understanding the JMX Summary View
JMX Memory Tab
Appearance of the Summary JMX Viewer When First Opened
JMX Viewer with Summary Memory Tab Selected
JMX Viewer with Summary Threads Tab Open
JMX Threads Tab
JMX Runtime Tab
Changing Mbean Values and Monitoring the Result
JMX Notifications Tab
MBean Filter
Using the Functions in the JMX Server View
MBean Attribute Tab
10 MBean Operations Tab Open for Display
MBean Operations Tab
MBean Information Tab
MBean Notifications Tab
12 MBean Information Tab Open for Display
Profiling Overview
Profiling Applications
Tracing
Tuning Performance
Sampling
Preparing a Benchmark
Profiling with -Xeprof
Collecting Profile Data
Profiling with Zero Preparation
If timeon=sig... has not been specified, the default is
Following options are useful
Profiling with -agentlibhprof
Supported -agentlibhprofoptions
Generate more complete call graphs
Naming Profile Data Files
Inclusive Method CPU Times
Profiling with -Xeprof Profiling with -agentlibhprof
Considerations in Interpreting the Data
Approaches to Analyzing Performance Data
Looking at the Data from the Bottom Up
Looking at the Data from the Top Down
Inclusive Versus Exclusive Time
Locating Summary Information for Saved Data Sets
Time Units
CPU Versus Clock Time
Estimate menus
Adjusting Scope
Comparing Profiling Data Files
Scaling Comparison Data
Key to Thread States Reported by
Reading Profiling Histograms
Interpreting the Histogram Presentation
Interpreting Call Graph Data
Using Call Graph Trees
Example of Node Color Display
Options for Manipulating the Call Tree Display
Using Sub-Trees
Tree Pruning
Auto-Expanding the Call Tree
Searching the Trees
Using Heuristics to Locate Possible Hot Spots
Using Heuristics to Locate Possible Hot Spots
Obtaining Garbage Collection Data
Analyzing Garbage Collection Data
Data Collection with -Xverbosegc
Java ... -Xverbosegchelp
13, Old generation, in bytes. These spaces are reported
Collecting Glance Data for Viewing in HPjmeter
Collecting GC Data with Zero Preparation
Related Topics
Data Collection with -Xloggc
Naming GC Data Files
Using -XX+PrintGCDetails and -XX+PrintHeapAtGC Together
Comparing Garbage Collection Data Files
Key to Garbage Collection Types Recognized by HPjmeter
Basic Garbage Collection Concepts
Common Garbage Collection Types Recognized by HPjmeter
Understanding the Summary Presentation of GC Data
Summary Panel Showing Garbage Collection Statistics
Understanding the System Details Captured with GC Data
Basic Garbage Collection Concepts
Analyzing Garbage Collection Data
Using the Main Window Functions
Using the Console
Starting the Console
Main Console Window
Data Representation
Node Agent
Icons and Their Meaning
JVM Agent
Time Slice Entries
Open and Cached Sessions
Saving Data
Console Menu Choices
Console Tool Bar Buttons
Remember Main Window Location
Monitor Menu
Console Guide Location and First Screen
Console Guide
Status Bar
Setting Monitoring Session Preferences
Specifying Metrics to Collect for Monitoring
Enabling Monitoring Alerts
Editing Filters
Specifying Filters for Monitoring
Adding Filters
Viewing Monitoring Data in HPjmeter
Using Alerts
Specifying Filter Sets
Appearance of Alert Threshold in GC Duration Visualizer
Appearance of Alert Notices in the Main Console Pane
Using the Alert Controller
Alert Controller Window
Viewing a Log of the Alert History
Editing E-mail Notification Attributes
Abnormal Thread Termination Alert
Responding to Alerts
Identifying Abnormal Thread Termination Thread Histogram
Excessive Compilation Alert
Expected Out Of Memory Error Alert
GC Duration Notification
Java Collection Leak Locations Alert
Heap Usage Notification
13 Java Collection Leak Locations Visualizer
Array Leak Locations Alert
14 Array Leak Locations Visualizer
Process CPU Usage Alert
System CPU Usage Alert
Unfinalized Queue Growth
Thread Deadlock Alert
Profiling Data Viewer
Using Visualizer Functions
Locating Information About a JVM and its Environment
Using Monitoring Displays
Java Method HotSpots
Monitor Code and/or CPU Activity Menu
Details
Thrown Exceptions with Stack Traces
Thrown Exceptions
Monitoring Metric Thrown Exceptions with Stack Traces
Heap Monitor
Monitor Memory and/or Heap Activity Menu
Monitoring Metric Garbage Collections
Garbage Collections
GC Duration
Percentage of Time Spent in Garbage Collection
Unfinalized Objects
Allocated Object Statistics by Class
Allocating Method Statistics
Current Live Heap Objects
Name of class to which object belongs
Thread Histogram
Monitor Threads and/or Locks Menu
Already acquired by another thread
14 Monitoring Metric Lock Contention
Lock Contention
Method Compilation Count
Monitor JVM and/or System Activity Menu
Loaded Classes
Method Compilation Frequency
17 Monitoring Metric Loaded Classes Related Topics
Percent % CPU Utilization
Viewing Profiling or GC Data in HPjmeter
Using Profile Displays
Using Visualizer Functions
Inline Candidates Exceptions Thrown Memory Leaks
Profile Code and/or CPU Activity
Menu Choices
Method Call Count
Exclusive Method Clock Times
Exclusive Method Times CPU
Call Graph Tree with Call Count
Call Graph Tree with Clock Time
Call Graph Tree with CPU
Inclusive Method CPU Times
Inclusive Method Clock Times
Average Inclusive Method CPU Times
Average Exclusive Method Clock Times
Average Inclusive Method Clock Times
Starvation by Method
Starvation Ratio
Profile Memory and/or Heap Activity
Methods with Loops
Exclusive Class CPU Times
Created Objects Count
Objects Created by Method
Created Objects Bytes
Live Objects Count
Reference Sub-Trees by Size
Reference Graph Tree
Using Profile Displays
For string and char arrays, see String and char arrays
21 Long String Pop-up Box
23 Class Loaders Visualizer
Class Loaders
24 Class Types Pop-up Window Guidelines
Residual Objects Count
Profile by Threads
Residual Objects Bytes
Threads Histogram
Thread Groups Histogram
Profile by Locks
Lock Delay Call Graph Tree
Lock Delay Method Exclusive
Contested Lock Claims by Method
All Lock Claims by Method
Lock Contention Ratio by Method
Lock Delay Method Inclusive
Average Exclusive Method Lock Delay
Exclusive Method Lock Delay / Clock Time
Exclusive Class Lock Delay
Using Heuristic Metrics from the Estimate Menu
Inline Candidates
Exceptions Thrown
Heap Usage After GC
Using Specialized Garbage Collection Displays
27 GC Metric Heap Usage After GC Related Topics
Duration Stop the World
28 GC Metric Duration Related Topics
Cumulative Allocation
29 GC Metric Cumulative Allocation Related Topics
Creation Rate
30 GC Metric Creation Rate Related Topics
Allocation Site Statistics
31 GC Metric Combined Sets of Allocation Site Statistics
32 GC Metric Separated Sets of Allocation Site Statistics
Using Visualizer Functions
Filter Field Descriptions
Using Visualizer Functions
User-Defined X-Y Axes
37 User-Defined Comparisons of GC Metrics Related Topics
Multiple User-Defined
38 Multiple User-Defined Metrics
Glance Data
40 GC Metric Glance Data
41 Glance Data Metric Configuration Box
Run Queue Average
Are private
Glance System Call Data
42 GC Metric Glance System Call Data
Common Tool Bar Buttons
Using Visualizer Tool Bars
Tool Bar Buttons for Manipulating Graphical Data
Tool Bar Buttons for Manipulating Tabular Data
Tool Bar Buttons for Manipulating Garbage Collection Data
Mark an Item for Search
Special Button or Other Gadget Functions
Find a Search Pattern
44 Locating an Item
Changing Time Interval in GC Data Visualizers
Pause or Resume Graphical Time-based Scrolling
46 The View Menu Selections in the GC Viewer
Using Visualizer Tool Bars
Changing Time Interval in Monitoring Visualizers
50 Time Interval Use in a Monitoring Visualizer
Change Color Selection for Histogram Display
Thread Histogram Profile by Threads
Performance Overhead on Running Applications
Understanding How HPjmeter Works
Data Sampling Considerations
Using Confidence Interval to Indicate Sample Validity
Console Overhead
How Memory Leak Detection Works
Related Topics
Page
Installation
Troubleshooting
Documentation and Support
Identifying Version Numbers
See also To Take Advantage of Dynamic Attach
Console
JVM agent
If you see this JVM agent error on startup
Zero Preparation Profiling
Node agent
Unexpected Behavior in Visualizers
Quick References
Connecting to the HPjmeter Node Agent
Start and stop verbose GC data 0.14 0.02
Glossary
Active mode
Jvmpi
SSL
Index
Symbols
Alert Notification Editor, 107 alerts
Restore Roots
Alert Notification Editor, 108 count
Collecting with zero preparation, 83 GC event
Glance system call data, 174 graphical scrolling
JVM
Duration Stop the World, 158 enable, 99
User-Defined X-Y Axes for GC analysis, 167 viewing, 29
Program termination, 47 overhead
Scale Special, 72 scaling data
Xeprofoptions
Xbootclasspath