【JVM虚拟机篇17】java内存泄漏的排查

51 阅读1分钟

哪里会产生内存泄漏?

image.png

image.png

实际项目中

image.png

出现现象:

  • 启动闪退
  • 运行一段时间宕机

内存泄漏的排查思路

  1. 获取堆内存快照dump文件
  2. 使用VisualVM去分析dump文件
  3. 通过查看堆信息的情况,定位内存溢出问题

1.获取堆内存快照dump文件

  • 使用jmap命令获取运行中程序的dump文件

    • jmap -dump:format=b,file=heap.hprof pid
  • 使用vm参数获取dump文件

    • -XX:+HeapDumpOnOutOfMemoryError
    • -XX:HeapDumpPath=/home/app/dumps/

2.使用VisualVM去分析dump文件

image.png

image.png