分析java内存泄漏的原因

来源:互联网 发布:淘宝未评价的订单 编辑:程序博客网 时间:2024/06/06 09:16

工具

jvisualvm:工具就在jdk的bin文件夹里
MemoryAnalyzer:https://pan.baidu.com/s/1b2VUea

正文

如果有大量的FGC就要查询是否有内存泄漏的问题了,图中的FGC数量就比较大,并且执行时间较长,这样就会导致系统的响应时间较长,如果对jvm的内存设置较大,那么执行一次FGC的时间可能会更长。

当出现这种问题的时候,我们可以先用jvisualvm监控heap,然后dump(倒出)出heap(堆)数据。

下面就来认识一下MemoryAnalyzer.exe。java内存泄漏检查工具利器。
首先我们必须对jvm的堆内存进行dump,只有拿到这个文件我们才能分析出jvm堆内存中到底存了些什么内容,到底在做什么?

把.hprof这个文件放入MemoryAnalyzer中,进行解析,可以得到一份报告,这份报告里面会详细的介绍jvm内存中所做的事,根据这些信息我们可以去判断是哪些对象导致的内存溢出。

参考

http://blog.csdn.net/gzh0222/article/details/8538727

0 0