美文网首页
JVM调优前戏之JDK命令行工具---jhat

JVM调优前戏之JDK命令行工具---jhat

作者: alterem | 来源:发表于2019-08-16 11:39 被阅读0次

    在JDK的命令行中,一般开发人员最耳熟能详的肯定就是java,javac,javap等常用命令,不过在jdk/bin下还有许多其他的命令行工具,它们被用来监测JVM运行时的状态,下面我们来详细解读一下几个常用的工具以及如何使用。

    jhat

    jhat(JVM Heap Analysis Tool)命令是与jmap搭配使用,用来分析jmap生成的dump,jhat内置了一个微型的HTTP/HTML服务器,生成dump的分析结果后,可以在浏览器中查看。在此要注意,一般不会直接在服务器上进行分析,因为jhat是一个耗时并且耗费硬件资源的过程,一般把服务器生成的dump文件复制到本地或其他机器上进行分析。

    命令格式

    jhat [dumpfile]
    

    示例

    $ jhat -J-Xmx512m dump.hprof
    eading from dump.hprof...
    Dump file created Fri Mar 11 17:13:42 CST 2016
    Snapshot read, resolving...
    Resolving 271678 objects...
    Chasing references, expect 54 dots......................................................
    Eliminating duplicate references......................................................
    Snapshot resolved.
    Started HTTP server on port 7000
    Server is ready.
    

    中间的-J-Xmx512m是在dump快照很大的情况下分配512M内存去启动HTTP服务器,运行完之后就可在浏览器打开Http://localhost:7000进行快照分析
    堆快照分析主要在最后面的Heap Histogram里,里面根据class列出了dump的时候所有存活对象。

    高能tips

    分析同样一个dump快照,MAT需要的额外内存比jhat要小的多的多,所以建议使用MAT来进行分析,当然也看个人偏好。

    相关文章

      网友评论

          本文标题:JVM调优前戏之JDK命令行工具---jhat

          本文链接:https://www.haomeiwen.com/subject/oqefsctx.html