Eclipse Memory Analyzer,内存泄漏插件,安装使用
网上文档很多,但最初都有问题。整理一份,作为备份。使用过程:开发代码写完后,对可能出现内存溢出的代码,添加配置文件,生成.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的内存设置来说肯定是会溢出的。
![](/assets/blank.gif)
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 }
![](/assets/blank.gif)
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 分析 Tomcat 内存溢出
最近,线上生产系统突然频繁的 JVM 内存报警!但本系统近期内并没有上线改动! 为了能查清内存报警的原因,使用 Eclipse Memory Analyzer tool(MAT)对 JVM Dump ...
- 一次使用Eclipse Memory Analyzer分析weblogic内存溢出
前言 在平时开发.测试过程中.甚至是生产环境中,有时会遇到OutOfMemoryError,Java堆溢出了,这表明程序有严重的问题.我们需要找造成OutOfMemoryError原因.一般有两种情况 ...
- 内存映像分析工具Eclipse Memory Analyzer
1. Eclipse Memory Analyzer安装 Help ->Eclipse Marketplace,搜索Memory,点击install,->confirm->同意证书内 ...
- 使用Eclipse Memory Analyzer对Tomcat进行内存分析
测试环境 Java : JDK1.6 Tomcat: Tomcat 5.5 Eclipse Memory Analyzer:EMA 1.2.1(直接去Eclipse下载,无需安装哈) 获得Heap D ...
- Eclipse Memory Analyzer以及内存泄露的原因
Eclipse Memory Analyzer是一个非常棒的堆内存分析工具,是JDK自带的堆分析工具jhat的一个非常好的替代品,能够快速地定位Java内存泄露的原因. 可能有的同学会问, ...
- 使用 Eclipse Memory Analyzer 进行堆转储文件分析
概述 对于大型 JAVA 应用程序来说,再精细的测试也难以堵住所有的漏洞,即便我们在测试阶段进行了大量卓有成效的工作,很多问题还是会在生产环境下暴露出来,并且很难在测试环境中进行重现.JVM 能够记录 ...
- Eclipse Memory Analyzer 使用技巧
Eclipse Memory Analyze 是Java 堆转储文件分析工具,可以帮助你发现内存漏洞和减少内存消耗. 概述 对于大型 JAVA 应用程序来说,再精细的测试也难以堵住所有的漏洞,即便我们 ...
- jvm性能分析工具之-- Eclipse Memory Analyzer tool(MAT)
性能分析工具之-- Eclipse Memory Analyzer tool(MAT)(一) 前言 性能分析工具之-- Eclipse Memory Analyzer tool(MAT)(一)中介绍了 ...
- Eclipse Memory Analyzer 的使用
原文出处:郭霖,http://blog.csdn.net/sinyu890807/article/details/42238633?locationNum=4 Eclipse Memory Analy ...
- Eclipse Memory Analyzer(MAT) 使用总结
前言 在日常的开发工作中,遇到生产环境报OOM的问题时,你首先会想到采用哪些方式并使用什么样的工具对OOM问题进行分析,定位和解决呢? 实际现场环境无非有这么两种,第一种,如果项目所在的生产服务器不允 ...
最新文章
- 《跟菜鸟学Cisco UC部署实战》-第 1 章 规划-课件(一共12章,免费)
- 面试官:说说 Java 中的 Unsafe 和 CAS
- 计算机等级考试初级网络工程师,计算机等级网络工程师考试内容
- 正则表达式真的很骚,可惜你不会写!
- webflux切面拦截权限,webflux整合aop,webflux获取request
- 算法训练营04-map,set,dequeue,stack
- Linkerd2安装和使用
- 每周荐书:机器学习、Java虚拟机、微信开发(评论送书)
- 说说命令提示符:tcping命令、tcp协议和ping命令
- 电脑用来测试网段信号的软件,WiFi信号分析仪PC版
- python逆时针画圆_python 逆时针
- KUBERNETES安装及访问web页面
- 分形吧matlab,使用matlab画分形图.pdf
- 【vue3仿网易云音乐app】歌单列表以及歌单界面
- EOJ 3344.送命题
- 在oracle数据库中存储数据库的文件是,Oracle数据库,oracle
- css里面的网格布局
- B-SOiD 系统运行报错全记录
- creo打不开stp文件_Creo怎么打开stp格式的文件?
- stm32项目平衡车详解(stm32F407)下
热门文章
- plc串口通讯 qt_Qt 编写串口调试助手
- 节气朔望时刻计算和日食月食预测
- 计算多个不同鞋码对应的脚长——C语言
- 步进电机控制系统设计
- 流体机械特性曲线 水轮机运转特性曲线
- cmake中的INTERFACE_INCLUDE_DIRECTORIES是干什么的
- 微信隐藏/显示右上角菜单接口
- 八、【中级篇】数码管驱动(74HC138,74HC595)
- Ubuntu 使用命令向QQ邮箱发送邮件
- 微星 GL62M 7RD SSD+HDD双硬盘 安装双系统(win10+ubuntu 16.04)