1 Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved. |
|
2 |
|
3 Redistribution and use in source and binary forms, with or without |
|
4 modification, are permitted provided that the following conditions |
|
5 are met: |
|
6 |
|
7 - Redistributions of source code must retain the above copyright |
|
8 notice, this list of conditions and the following disclaimer. |
|
9 |
|
10 - Redistributions in binary form must reproduce the above copyright |
|
11 notice, this list of conditions and the following disclaimer in the |
|
12 documentation and/or other materials provided with the distribution. |
|
13 |
|
14 - Neither the name of Oracle nor the names of its |
|
15 contributors may be used to endorse or promote products derived |
|
16 from this software without specific prior written permission. |
|
17 |
|
18 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS |
|
19 IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, |
|
20 THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
|
21 PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR |
|
22 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
|
23 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
|
24 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
|
25 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF |
|
26 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
|
27 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
|
28 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
29 |
|
30 |
|
31 Header for -agentlib:hprof (or -Xrunhprof) ASCII Output (JDK 5.0 JVMTI based) |
|
32 |
|
33 WARNING! This file format is under development, and is subject to |
|
34 change without notice. |
|
35 |
|
36 This file contains the following types of records: |
|
37 |
|
38 THREAD START |
|
39 THREAD END mark the lifetime of Java threads |
|
40 |
|
41 TRACE represents a Java stack trace. Each trace consists |
|
42 of a series of stack frames. Other records refer to |
|
43 TRACEs to identify (1) where object allocations have |
|
44 taken place, (2) the frames in which GC roots were |
|
45 found, and (3) frequently executed methods. |
|
46 |
|
47 HEAP DUMP is a complete snapshot of all live objects in the Java |
|
48 heap. Following distinctions are made: |
|
49 |
|
50 ROOT root set as determined by GC |
|
51 CLS classes |
|
52 OBJ instances |
|
53 ARR arrays |
|
54 |
|
55 SITES is a sorted list of allocation sites. This identifies |
|
56 the most heavily allocated object types, and the TRACE |
|
57 at which those allocations occurred. |
|
58 |
|
59 CPU SAMPLES is a statistical profile of program execution. The VM |
|
60 periodically samples all running threads, and assigns |
|
61 a quantum to active TRACEs in those threads. Entries |
|
62 in this record are TRACEs ranked by the percentage of |
|
63 total quanta they consumed; top-ranked TRACEs are |
|
64 typically hot spots in the program. |
|
65 |
|
66 CPU TIME is a profile of program execution obtained by measuring |
|
67 the time spent in individual methods (excluding the time |
|
68 spent in callees), as well as by counting the number of |
|
69 times each method is called. Entries in this record are |
|
70 TRACEs ranked by the percentage of total CPU time. The |
|
71 "count" field indicates the number of times each TRACE |
|
72 is invoked. |
|
73 |
|
74 MONITOR TIME is a profile of monitor contention obtained by measuring |
|
75 the time spent by a thread waiting to enter a monitor. |
|
76 Entries in this record are TRACEs ranked by the percentage |
|
77 of total monitor contention time and a brief description |
|
78 of the monitor. The "count" field indicates the number of |
|
79 times the monitor was contended at that TRACE. |
|
80 |
|
81 MONITOR DUMP is a complete snapshot of all the monitors and threads in |
|
82 the System. |
|
83 |
|
84 HEAP DUMP, SITES, CPU SAMPLES|TIME and MONITOR DUMP|TIME records are generated |
|
85 at program exit. They can also be obtained during program execution by typing |
|
86 Ctrl-\ (on Solaris) or by typing Ctrl-Break (on Win32). |
|