java内存泄露分析方案

java内存泄露分析方案

- 准备工作

1.工具:Memory Analyzer Tool (mat);
1)安装Memory Analyzer Tool (mat)
这里写图片描述
2.原料:dump.hprof
1)生成hprof文件
在linux服务器执行以下命令(pid表示进程id,使用jps命令获取)
这里写图片描述
jmap -dump:format=b,file=xxx.hprof ${pid}
这里写图片描述
2)导出hprof文件,可以使用linux的sz命令,或者使用xshell的xftp工具。

开始分析
1.启动eclipse的Memory Analyzer Tool;
这里写图片描述
2.File –> Open Heap Dump,选择dump文件
这里写图片描述
3.分析报表展示
这里写图片描述
这里写图片描述
4.分析
这里写图片描述
至此,问题基本定位,下一步就是代码的优化了,这个根据实际情况而言。

记录一下用到的linux命令:
free -m (以M为单位展示)
free -g (以G为单位展示)
ps aux (展示每个进程所占用的内存)
top –>shift + m (这个命令和ps aux配合使用)


以下附几个比较好的linux平台内存溢出的观察方案:

以下内容皆为引用,请尊重各位博主的原创!
1.Java内存泄露监控工具:JVM监控工具介绍
2.jmap,jstack,jhat内存分析
3.使用 Eclipse Memory Analyzer 进行堆转储文件分析
4.linux下java内存泄露定位jstat+jmap+jhat