0
点赞
收藏
分享

微信扫一扫

OOM问题排查

松鼠树屋 2021-09-25 阅读 62
技术随笔

JVM参数设置

在JAVA_OPTIONS变量中增加参数

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${目录}

说明:

  • -XX:+HeapDumpOnOutOfMemoryError
  • -XX:HeapDumpPath= ${目录}

所以在jvm启动参数加上以上配置是为了在项目发生oom时,输出堆的内存快照,用于后续分析定位

hprof文件分析

hprof文件需要用内存分析工具分析,如mat、jdk自带的jvisualvm.exe
本人习惯用mat工具 mat下载

  • 载入hprof文件


  • Histogram
    可以右键某一项查看类实例并通过Path to GC Roots快速找到某个对象的 GC Root


  • Leak Suspects
    通过分析线程堆栈信息,可以很好定位内存泄漏的位置


  • Dominator Tree
    以实例对象的维度展示当前堆内存中Retained Heap占用最大的对象,以及依赖这些对象存活的对象的树状结构


  • Thread Overview
    可以查看线程对象/线程栈信息、线程名、Shallow Heap、Retained Heap、类加载器、是否Daemon线程等信息



举报

相关推荐

0 条评论