分析java内存泄漏的原因

工具

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章