Eclipse Memory Analyzer,内存泄漏插件,安装使用一条龙
来源:互联网 发布:sql2008数据库置疑 编辑:程序博客网 时间:2024/04/26 08:26
转自:http://www.cnblogs.com/dennyzhangdd/p/5647469.html
网上文档很多,但最初都有问题。整理一份,作为备份。使用过程:开发代码写完后,对可能出现内存溢出的代码,添加配置文件,生成.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 @Test2 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,内存泄漏插件,安装使用一条龙
- Eclipse Memory Analyzer,内存泄漏插件,安装使用一条龙
- 使用 Eclipse Memory Analyzer 检测内存泄漏问题
- 使用Eclipse Memory Analyzer进行内存泄漏分析三部曲
- 使用Eclipse Memory Analyzer进行内存泄漏分析三部曲
- 使用 Eclipse Memory Analyzer 检测内存泄漏问题
- 使用 Eclipse Memory Analyzer 检测内存泄漏问题
- 使用Eclipse Memory Analyzer进行内存泄漏分析三部曲
- 使用 Eclipse Memory Analyzer 检测内存泄漏问题
- 使用 Eclipse Memory Analyzer 检测内存泄漏问题
- 使用 Eclipse Memory Analyzer 检测内存泄漏问题
- 使用Eclipse Memory Analyzer进行内存泄漏分析三部曲
- 使用 Eclipse Memory Analyzer 检测内存泄漏问题
- 使用 Eclipse Memory Analyzer 检测内存泄漏问题
- 使用Eclipse Memory Analyzer进行内存泄漏分析三部曲
- 使用Eclipse Memory Analyzer进行内存泄漏分析三部曲
- 使用Eclipse Memory Analyzer进行内存泄漏分析三部曲
- 使用Eclipse Memory Analyzer进行内存泄漏分析三部曲
- C++ 神秘的随机数
- nginx 工作原理
- 玫瑰花数
- 微信获取关注者姓名
- 通州商务中心区规划亮相
- Eclipse Memory Analyzer,内存泄漏插件,安装使用一条龙
- 贺福初院士在美国“为国争光”的真相
- 插入排序和归并排序
- 怎样在js中控制一个HTML元素的可见与不可见
- hdu 2015
- 秒杀迅雷的linux命令行下载文件以及常用工具:wget、Prozilla、MyGet、Linuxdown、Curl、Axel
- Android中TextView多种颜色的设置
- $.ajax
- Maven(1)——(本地仓库,远程仓库)