码迷,mamicode.com
首页 > 系统相关 > 详细

Eclipse Memory Analyzer,内存泄漏插件,安装使用一条龙

时间:2016-07-06 18:01:10      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

网上文档很多,但最初都有问题。整理一份,作为备份。使用过程:开发代码写完后,对可能出现内存溢出的代码,添加配置文件,生成.hprof文件,用memory Analyzer分析排查问题,且泄漏内存大小可配置。具体安装测试一条龙如下:

1.安装:

help-》install new software -》work with :  这里填写eclipse版本:  Kepler - http://download.eclipse.org/releases/kepler(注意这里不同版本可能地址不同!!!)--》General Purpose Tools--》找到”Memory Analyzer“和”Memory Analyzer(Charts)“,并选取。安装完后重启eclipse.

2.提前修改配置:注意:由于后续分析过程需要大量内存,所以,后面打开分析后的文件时,可能会报内存溢出,需要调整eclipse内存,注意:网上很多都是骗人的,必须到eclipse目录下找到eclipse.ini在最后:-Xms2048m -Xmx2048m 这样既可,想动态看见eclipse运行内存:技术分享

3.编写内存泄漏测试代码

大致是往ArrayList中循环添加大量字符串。这对20M的内存设置来说肯定是会溢出的。

1     @Test
2     public void testOutOfMemory(){
3         List<String> list = new ArrayList<String>();
4         for(int i=0;i<10000000;i++){
5            String str = new String();
6            list.add(str);
7         }
8     }

 

4.运行参数配置:Run as-->Run Configurations-->Arguments-->VM arguments:-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError,配置20M当做内存溢出上限,方便测试,具体大小大家可以自己控制。-XX:+HeapDumpOnOutOfMemoryError 配置后,当存溢出就会生成文件。如下图:技术分享,测试代码运行后,控制台输出,见下图:技术分享.

5.代码运行后,eclipse下刷新工程可见技术分享,生成了hprof文件,双击打开(注意,此处就是第二步设置参数的原因)。默认选择第一项,finish即可。技术分享,具体分析:技术分享,上图可见,是主线程的ArrayList内存溢出了。

Eclipse Memory Analyzer,内存泄漏插件,安装使用一条龙

标签:

原文地址:http://www.cnblogs.com/dennyzhangdd/p/5647469.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!