美文网首页
MAT java 内存分析工具

MAT java 内存分析工具

作者: ac619467fef3 | 来源:发表于2018-12-10 10:45 被阅读49次

    MAT java 内存分析工具

    导出内存的两种方法

    • java 命令行参数设置
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:HeapDumpPath=./
    
    • 用JMap导出当前进程的内存镜像
      heap.hprof是导出内存镜像的文件名
      live参数导出存活对象
    jmap -dump:live,format=b,file=heap.hprof pid
    

    下载&mac启动

    下载地址

    https://www.eclipse.org/mat/downloads.php

    mac启动 MAT

    下载mat文件,右键选择显示包内容。



    浏览包内容,右键Contents/MacOs/MemoryAnalyzer终端运行。



    打开文件,选择hprof文件,弹出对话框,选择Leak Suspect report。

    MAT结果

    1.报告
    2.统计信息

    全部统计信息

    • Objects 对象数量
    • Shallow Heap 自身在堆栈的大小
    • Retained Heap 引用对象占堆栈的大小,释放该对象能释放Heap的大小。


    类名过滤统计信息

    3.查看类型的应用关系

    选择对象,右键 Merge path。


    在结果中,可以点开类,查看引用层级。当看到完整的引用路径,就可以定位产生溢出的具体位置。


    4.查看对象层级信息

    通过层级方式查看内存对象。


    相关文章

      网友评论

          本文标题:MAT java 内存分析工具

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