123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- - Neither the name of Oracle nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- Header for -agentlib:hprof (or -Xrunhprof) ASCII Output (JDK 5.0 JVMTI based)
- WARNING! This file format is under development, and is subject to
- change without notice.
- This file contains the following types of records:
- THREAD START
- THREAD END mark the lifetime of Java threads
- TRACE represents a Java stack trace. Each trace consists
- of a series of stack frames. Other records refer to
- TRACEs to identify (1) where object allocations have
- taken place, (2) the frames in which GC roots were
- found, and (3) frequently executed methods.
- HEAP DUMP is a complete snapshot of all live objects in the Java
- heap. Following distinctions are made:
- ROOT root set as determined by GC
- CLS classes
- OBJ instances
- ARR arrays
- SITES is a sorted list of allocation sites. This identifies
- the most heavily allocated object types, and the TRACE
- at which those allocations occurred.
- CPU SAMPLES is a statistical profile of program execution. The VM
- periodically samples all running threads, and assigns
- a quantum to active TRACEs in those threads. Entries
- in this record are TRACEs ranked by the percentage of
- total quanta they consumed; top-ranked TRACEs are
- typically hot spots in the program.
- CPU TIME is a profile of program execution obtained by measuring
- the time spent in individual methods (excluding the time
- spent in callees), as well as by counting the number of
- times each method is called. Entries in this record are
- TRACEs ranked by the percentage of total CPU time. The
- "count" field indicates the number of times each TRACE
- is invoked.
- MONITOR TIME is a profile of monitor contention obtained by measuring
- the time spent by a thread waiting to enter a monitor.
- Entries in this record are TRACEs ranked by the percentage
- of total monitor contention time and a brief description
- of the monitor. The "count" field indicates the number of
- times the monitor was contended at that TRACE.
- MONITOR DUMP is a complete snapshot of all the monitors and threads in
- the System.
- HEAP DUMP, SITES, CPU SAMPLES|TIME and MONITOR DUMP|TIME records are generated
- at program exit. They can also be obtained during program execution by typing
- Ctrl-\ (on Solaris) or by typing Ctrl-Break (on Win32).
|