Profiling with -Xeprof......................................................................................................................

61

Profiling with Zero Preparation......................................................................................................

62

Profiling with -agentlib:hprof..........................................................................................................

63

Naming Profile Data Files...............................................................................................................

65

–Xeprof and –agentlib:hprof Profiling Options and Their Corresponding Metrics.............................

65

Approaches to Analyzing Performance Data.......................................................................................

68

Looking at the Data from the Bottom Up........................................................................................

68

Looking at the Data from the Top Down........................................................................................

68

Looking for Inefficiencies in Memory Usage..................................................................................

68

Considerations in Interpreting the Data...............................................................................................

68

Inclusive Versus Exclusive Time.....................................................................................................

69

Time Units.......................................................................................................................................

69

CPU Versus Clock Time.............................................................................................................

69

Locating Summary Information for Saved Data Sets...........................................................................

69

Adjusting Scope....................................................................................................................................

70

Comparing Profiling Data Files ...........................................................................................................

71

Scaling Comparison Data.....................................................................................................................

72

Reading Profiling Histograms..............................................................................................................

73

Key to Thread States Reported by ..................................................................................................

73

Interpreting the Histogram Presentation........................................................................................

74

Using Call Graph Trees.........................................................................................................................

75

Interpreting Call Graph Data..........................................................................................................

75

Example of Node Color Display................................................................................................

76

Options for Manipulating the Call Tree Display.............................................................................

77

Tree Pruning...............................................................................................................................

77

Auto-Expanding the Call Tree...................................................................................................

77

Using Sub-Trees..........................................................................................................................

77

Searching the Trees.....................................................................................................................

78

Using Heuristics to Locate Possible Hot Spots.....................................................................................

78

6 Analyzing Garbage Collection Data .......................................................................

80

Obtaining Garbage Collection Data......................................................................................................

80

Data Collection with -Xverbosegc...................................................................................................

80

Collecting Allocation Site Statistics for Viewing in HPjmeter...................................................

83

Collecting Glance Data for Viewing in HPjmeter......................................................................

83

Collecting GC Data with Zero Preparation.....................................................................................

83

Data Collection with -Xloggc...........................................................................................................

84

Naming GC Data Files.....................................................................................................................

85

-Xverbosegc and -Xloggc Options and Their Corresponding Metrics.................................................

85

Locating Summary Information for Saved Data Sets...........................................................................

86

Comparing Garbage Collection Data Files ..........................................................................................

86

Basic Garbage Collection Concepts......................................................................................................

87

Key to Garbage Collection Types Recognized by HPjmeter...........................................................

87

Understanding the Summary Presentation of GC Data..................................................................

88

Understanding the System Details Captured with GC Data..........................................................

90

7 Using the Console .......................................................................................................

93

Starting the Console..............................................................................................................................

93

Starting the Console On HP-UX......................................................................................................

93

Starting the Console On Linux........................................................................................................

93

Starting the Console On Microsoft Windows..................................................................................

93

Using the Main Window Functions......................................................................................................

93

Data Representation........................................................................................................................

94

Icons and Their Meaning.................................................................................................................

95

Node Agent................................................................................................................................

95

JVM Agent..................................................................................................................................

95

Table of Contents

5