1 Header for -agentlib:hprof (or -Xrunhprof) ASCII Output (JDK 5.0 JVMTI based)
5 Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
7 WARNING! This file format is under development, and is subject to
10 This file contains the following types of records:
13 THREAD END mark the lifetime of Java threads
15 TRACE represents a Java stack trace. Each trace consists
16 of a series of stack frames. Other records refer to
17 TRACEs to identify (1) where object allocations have
18 taken place, (2) the frames in which GC roots were
19 found, and (3) frequently executed methods.
21 HEAP DUMP is a complete snapshot of all live objects in the Java
22 heap. Following distinctions are made:
24 ROOT root set as determined by GC
29 SITES is a sorted list of allocation sites. This identifies
30 the most heavily allocated object types, and the TRACE
31 at which those allocations occurred.
33 CPU SAMPLES is a statistical profile of program execution. The VM
34 periodically samples all running threads, and assigns
35 a quantum to active TRACEs in those threads. Entries
36 in this record are TRACEs ranked by the percentage of
37 total quanta they consumed; top-ranked TRACEs are
38 typically hot spots in the program.
40 CPU TIME is a profile of program execution obtained by measuring
41 the time spent in individual methods (excluding the time
42 spent in callees), as well as by counting the number of
43 times each method is called. Entries in this record are
44 TRACEs ranked by the percentage of total CPU time. The
45 "count" field indicates the number of times each TRACE
48 MONITOR TIME is a profile of monitor contention obtained by measuring
49 the time spent by a thread waiting to enter a monitor.
50 Entries in this record are TRACEs ranked by the percentage
51 of total monitor contention time and a brief description
52 of the monitor. The "count" field indicates the number of
53 times the monitor was contended at that TRACE.
55 MONITOR DUMP is a complete snapshot of all the monitors and threads in
58 HEAP DUMP, SITES, CPU SAMPLES|TIME and MONITOR DUMP|TIME records are generated
59 at program exit. They can also be obtained during program execution by typing
60 Ctrl-\ (on Solaris) or by typing Ctrl-Break (on Win32).