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

生成堆转储文件

1、新建项目,设置Eclispe Java堆的大小:

(1)限制Java堆大小:将最小值 -Xms参数与最大值-Xmx参数设置一样可避免堆的扩展

-Xmx20m -Xms20m -Xmn10m -Xss1m

(2)通过参数:-XX:+HeapDumpOnOutOfMemoryError,可以让VM在出现内存溢出异常时Dump当前内存堆转储快照

        -Xmx20m -Xms20m -Xmn10m -Xss1m -XX:+HeapDumpOnOutOfMemoryError

模拟堆溢出代码:

public class HeapOOM {

    static class OOMObject{

    }

    public static void main(String[] args) {

        List<OOMObject> list = new ArrayList<>();

        for (int i = 0; i >= 0 ; i++) {
            list.add(new OOMObject());
        }
    }
}

控制台:

本地转储文件

查看Memory Analysis生成分析报告

查看详细信息:

时间: 2024-11-10 07:55:27

Eclipse Memory Analysis进行堆转储文件分析的相关文章

[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 进行堆转储文件分析

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 进行JAVA内存泄露分析

一,安装 Eclipse Memory Analyzer 在Memory Analyzer的官网找到 update site的地址: 然后:在Eclipse界面--->Help--->Install New Software--->Add--->Add Reposity ,并在 location 中输入:Update Site地址,即可安装. 二,生成 堆转储文件 这里使用 jmap 命令生成堆转储文件. Ctrl+Alt+Delete 打开Windows任务管理器,点击:进程--

@Java VisualVM分析堆转储文件

测试程序 public class HeapOOM { private static int i = 0; static class OOMObject { } public static void main(String[] args) { List<OOMObject> list = new ArrayList<OOMObject>(); try { while (true) { list.add(new OOMObject()); i++; } } finally { //8

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

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

使用Eclipse Memory Analyzer分析内存

1 内存泄漏的排查方法 Dalvik Debug Monitor Server (DDMS) 是 ADT插件的一部分,其中有两项功能可用于内存检查 : ·    heap 查看堆的分配情况 ·    allocation tracker跟踪内存分配情况 DDMS 这两项功能有助于找到内存泄漏的操作行为. Eclipse Memory Analysis Tools (MAT) 是一个分析 Java堆数据的专业工具,用它可以定位内存泄漏的原因. 工具地址 : http://www.eclipse.o

Eclipse Memory Analyzer 使用技巧

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

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

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