• Heap Dump (heap=dump)


    Heap Dump (heap=dump)
    转储堆内容使用heap=dump选项.可以是ASCII或者是二进制格式,根据设定的格式,jhat解析二进制格式.format=b.
    如果指定格式是二进制,转储内容包括原始类型实例域和原始数组内容.
    以下命令生成的转储内容来自正在执行的javac编译命令.
    javac -J-agentlib:hprof=heap=dump Hello.java
    内容包含垃圾搜集的root对象,和从root可到达的对象.样例输出如下
    
    HEAP DUMP BEGIN (39793 objects, 2628264 bytes) Wed Oct 4 13:54:03 2006
    ROOT 50000114 (kind=<thread>, id=200002, trace=300000)
    ROOT 50000006 (kind=<JNI global ref>, id=8, trace=300000)
    ROOT 50008c6f (kind=<Java stack>, thread=200000, frame=5)
    :
    CLS 50000006 (name=java.lang.annotation.Annotation, trace=300000)
        loader 90000001
    OBJ 50000114 (sz=96, trace=300001, class=java.lang.Thread@50000106)
        name 50000116
        group 50008c6c
        contextClassLoader 50008c53
        inheritedAccessControlContext 50008c79
        blockerLock 50000115
    OBJ 50008c6c (sz=48, trace=300000, class=java.lang.ThreadGroup@50000068)
        name 50008c7d
        threads 50008c7c
        groups 50008c7b
    ARR 50008c6f (sz=16, trace=300000, nelems=1,
        elem type=java.lang.String[]@5000008e)
        [0] 500007a5
    CLS 5000008e (name=java.lang.String[], trace=300000)
        super 50000012
        loader 90000001
    :
    HEAP DUMP END
    
    ROOT,OBJ,CLS,ARR分别代表root,实例对象,类,数组.
    java.lang.Thread 实例50000114有一个thread group实例(50008c6c)和其他对象.
    可以使用jhat来分析转储文件
  • 相关阅读:
    修改linux的ssh默认端口号22的方法
    centos6 配置静态IP
    homebrew 无法安装提示不能在根目录下使用
    MySQL Replication 详解MySQL数据库设置主从同步的方法
    两台Mysql数据库数据同步实现
    MySql主从同步和延迟同步
    c#委托和事件
    C# Out和Ref区别
    MVC与三层架构
    经典数据库题
  • 原文地址:https://www.cnblogs.com/shuiyonglewodezzzzz/p/8749151.html
Copyright © 2020-2023  润新知