使用Eclipse Memory Analyzer 进行JAVA内存泄露分析

一,安装 Eclipse Memory Analyzer

Memory Analyzer的官网找到 update site的地址:

然后:在Eclipse界面--->Help--->Install New Software--->Add--->Add Reposity ,并在 location 中输入:Update Site地址,即可安装。

二,生成 堆转储文件

这里使用 jmap 命令生成堆转储文件。

Ctrl+Alt+Delete 打开Windows任务管理器,点击:进程--->找到当前正在运行的Eclipse/MyEclipse 进程的PID。【如果没有显示PID,可以点击:查看--->选择列-->勾选PID

知道进程的PID之后,就可以使用下面的命令生成 dump file了:

jmap -dump:format=b,file=<dumpfile_name> <pid>

三,使用Eclipse Memory Analyzer 插件分析堆转储文件

当生成堆转储文件之后,使用Eclipse打开该文件,即可进行分析了。具体步骤:Eclipse的界面:File--->Open File--->找到堆转储文件即可。

补充:Windows下查看进程:tasklist | findstr pid

Windows下查看端口:netstat -ano | find "port_number"

参考资料:

使用 Eclipse Memory Analyzer 进行堆转储文件分析

https://www.dynatrace.com/resources/ebooks/javabook/memory-leaks/

时间: 2024-10-20 08:11:56

使用Eclipse Memory Analyzer 进行JAVA内存泄露分析的相关文章

[Android Memory] 使用 Eclipse Memory Analyzer 进行堆转储文件分析

转载地址:http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-ma/index.html Eclipse Memory Analyzer(MAT)是著名的跨平台集成开发环境 Eclipse Galileo 版本的 33 个组成项目中之一,它是一个功能丰富的 JAVA 堆转储文件分析工具,可以帮助你发现内存漏洞和减少内存消耗.本文主要介绍如何安装配置 Memory Analyzer,并结合一个实例,介绍如何利用 MAT 来进行堆转储文

eclipse memory analyzer对系统内存溢出堆文件解析(转)

本文转之:https://blog.csdn.net/rachel_luo/article/details/8992461 前言 性能分析工具之-- Eclipse Memory Analyzer tool(MAT)(一)中介绍了内存泄漏的前因后果.在本文中,将介绍MAT如何根据heapdump分析泄漏根源.由于测试范例可能过于简单,很容易找出问题,但我期待借此举一反三. 一开始不得不说说ClassLoader,本质上,它的工作就是把磁盘上的类文件读入内存,然后调用java.lang.Class

使用 Eclipse Memory Analyzer 进行堆转储文件分析

Eclipse Memory Analyzer(MAT)是著名的跨平台集成开发环境 Eclipse Galileo 版本的 33 个组成项目中之一,它是一个功能丰富的 JAVA 堆转储文件分析工具,可以帮助你发现内存漏洞和减少内存消耗.本文主要介绍如何安装配置 Memory Analyzer,并结合一个实例,介绍如何利用 MAT 来进行堆转储文件分析,找到内存泄露的根源. 0 评论: 仇 璐, 软件工程师, IBM 杨 晓峰, 软件工程师, IBM 2010 年 7 月 22 日 内容 在 IB

Eclipse Memory Analyzer 进行堆转储文件分析

概述 对于大型 JAVA 应用程序来说,再精细的测试也难以堵住所有的漏洞,即便我们在测试阶段进行了大量卓有成效的工作,很多问题还是会在生产环境下暴露出来,并且很难在测试环境中进行重现.JVM 能够记录下问题发生时系统的部分运行状态,并将其存储在堆转储 (Heap Dump) 文件中,从而为我们分析和诊断问题提供了重要的依据. 通常内存泄露分析被认为是一件很有难度的工作,一般由团队中的资深人士进行.不过,今天我们要介绍的 MAT(Eclipse Memory Analyzer)被认为是一个“傻瓜式

使用Eclipse Memory Analyzer Tool(MAT)分析故障

Eclipse Memory Analyzer Tool(MAT)是一个强大的基于Eclipse的内存分析工具,可以帮助我们找到内存泄露,减少内存消耗. 工作中经常会遇到一些内存溢出.内存泄露等问题,同时还可能导致CPU使用率也很高,因为在频繁的进行GC垃圾回收,这时候就需要分析导致问题的原因,MAT是一个比较好用的工具,但刚开始使用时对于其提供的一些功能还是不太了解,故在此总结一下个人觉得比较有用的一些MAT相关概念,其它功能暂时还未用到或者还没有理解使用方法,后续再补充. 以下是本文的目录大

JAVA内存泄露分析及解决

一,问题产生     项目采用Tomcat6.0为服务器,数据库为mysql5.1,数据库持久层为hibernate3.0,以springMVC3.0为框架,项目开发完成后,上线前夕进行稳定性拷机,测试数据为插入4条/S,更新4条/S,访问300次/S,前期运行速度顺畅,三天后就开始运行缓慢,访问量达到1500W次后以抛出Java heap space结束. 二.问题分析     1.前期分析为连接池内存溢出,期间优化了连接池参数,调整了tomcat线程参数,替换数据库连接池,问题依旧     

java内存泄露分析定位

线上服务模块CPU和RAM内存都出现了异常,记录一下自己的分析过程: 1.确定线上环境os是linux-debian9.3 2.确定web容器采用的是jetty9.4版本 3.先用top分析当前系统内存和cpu的占用情况 1)先top,然后m切换内存使用情况图表 top - 11:31:03 up 2 days, 14:51, 2 users, load average: 21.71, 20.58, 19.47 Tasks: 161 total, 1 running, 160 sleeping,

Eclipse Memory Analyzer 分析内存泄露

OutOfMemoryError示例 代码 package com.walson.heap; import java.util.ArrayList;import java.util.List; /** * java 堆溢出 *  * -verbose:gc -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError * @author gjh1 * */public class HeapOOM { static class OOMObject{        

一次使用Eclipse Memory Analyzer分析Tomcat内存溢出

转:http://tivan.iteye.com/blog/1487855 前言 在平时开发.测试过程中.甚至是生产环境中,有时会遇到OutOfMemoryError,Java堆溢出了,这表明程序有严重的问题.我们需要找造成OutOfMemoryError原因.一般有两种情况: 1.内存泄露,对象已经死了,无法通过垃圾收集器进行自动回收,通过找出泄露的代码位置和原因,才好确定解决方案:2.内存溢出,内存中的对象都还必须存活着,这说明Java堆分配空间不足,检查堆设置大小(-Xmx与-Xms),检