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