美文网首页
java工具系列-hprof

java工具系列-hprof

作者: allanYan | 来源:发表于2016-11-11 17:58 被阅读0次

    概述

    HPROF是一个性能数据收集工具,可以通过如下命令查看其用法:

    hprof.png

    收集CPU信息

    1. java -agentlib:hprof=cpu= samples TestMain
    2. java -agentlib:hprof=cpu=times TestMain
    cpu.png

    samples和tmes相比,对程序的性能影响比较小,因为它是采用采样的方式进行信息搜集,而times是采用Byte Code Injection (BCI),通过在方法的入口和退出注入代码实现的;当然times统计的count是方法的实际执行次数,而samples则不是;

    收集Heap信息

    1. java -agentlib:hprof=heap=sites
    2. java -agentlib:hprof=heap=dump
    alloc.png trace.png

    可以看到char[]占用了整个空间的1.25%,那么它是什么时候进行内存分配的呢,根据stack trace=300006找到TRACE 300006,可以看到是通过Arrays.copyOf进行分配的;另外此处的depth为默认值4,如果想看到底是哪调用的,可以调大depth;

    Paste_Image.png

    相关文章

      网友评论

          本文标题:java工具系列-hprof

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