Java 内存泄漏监控检测与分析

1.获得转储文件

1.自动dump内存泄漏文件

在运行时加上参数-XX:+HeapDumpOnOutOfMemoryError,JVM就会在内存泄漏时自动地生成hprof格式的dump文件。

2.手动dump Java的内存文件

先确定Java程序的pid:

ps -aux | grep java

然后运行命令:

jmap -dump:format=b,file=dump.hprof pid

Java内存文件就会被dump出来。

2.MAT的使用

先下载软件:Eclipse Memory Analyzer Open Source Project | The Eclipse Foundation

目前的最新版本是1.8.1。

然后打开文件,选择默认的Leak Suspects Report
在这里插入图片描述
然后内存泄漏报告会展示出来:
在这里插入图片描述
回到OverView页面,下面有几个常用的选项:
在这里插入图片描述

3.内存泄漏分析实战

打开内存泄漏页面:
在这里插入图片描述
看到下面的说明:

The class "java.lang.ref.Finalizer", loaded by "<system class loader>", occupies 3,978,336 (36.07%) bytes. 
The memory is accumulated in one instance of "java.lang.ref.Finalizer" loaded by "<system class loader>".

Keywords
java.lang.ref.Finalizer

点击Details查看详情:
在这里插入图片描述
先说明一下java.lang.ref.Finalizer是什么:

java.lang.ref.Finalizer 是(没时间写博客了,以后再写)

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页