1 |
Header for -agentlib:hprof (or -Xrunhprof) ASCII Output (JDK 5.0 JVMTI based) |
2 |
|
3 |
@(#)jvm.hprof.txt 1.5 06/01/28 |
4 |
|
5 |
Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. |
6 |
|
7 |
WARNING! This file format is under development, and is subject to |
8 |
change without notice. |
9 |
|
10 |
This file contains the following types of records: |
11 |
|
12 |
THREAD START |
13 |
THREAD END mark the lifetime of Java threads |
14 |
|
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. |
20 |
|
21 |
HEAP DUMP is a complete snapshot of all live objects in the Java |
22 |
heap. Following distinctions are made: |
23 |
|
24 |
ROOT root set as determined by GC |
25 |
CLS classes |
26 |
OBJ instances |
27 |
ARR arrays |
28 |
|
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. |
32 |
|
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. |
39 |
|
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 |
46 |
is invoked. |
47 |
|
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. |
54 |
|
55 |
MONITOR DUMP is a complete snapshot of all the monitors and threads in |
56 |
the System. |
57 |
|
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). |