Eclipse Memory Analyzer

先写一段可以制造堆溢出的代码

package com.test.jvm.oom;

import java.util.ArrayList;
import java.util.List;

/**
 * @date 2017年9月21日
 * @Description: VM Args: -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError
 */
public class HeapOOM {
    static class OOMObject {

    }
    public static void main(String[] args) {
        List<OOMObject> list = new ArrayList<OOMObject>();
        while(true) {
            list.add(new OOMObject());
        }
    }
}

运行时参数如下

运行结果如下

此时,在该项目根目录路径下出现了hprof文件

时间: 2024-08-06 14:56:27

Eclipse Memory Analyzer的相关文章

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

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

MyEclipse安装Eclipse Memory Analyzer插件,并进行错误文件分析流程

在看深入JVM虚拟机一书(p50,2.4 实战OutOfMemoryError),有一个Java堆溢出的例子,使用到了Eclipse Memory Analyzer插件,由于自己现在使用的是MyEclipse,所以就需要在MyEclipse上添加插件.具体步骤如下: 1.先安装MAT插件 Memory Analyzer 插件下载地址:http://www.eclipse.org/mat/downloads.php 点击进行下载 3.将下载的文件解压到MyEclipse的  dropins  文件

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

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

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

最近,线上生产系统突然频繁的 JVM 内存报警!但本系统近期内并没有上线改动! 为了能查清内存报警的原因,使用 Eclipse Memory Analyzer tool(MAT)对 JVM Dump 文件进行了分析! 1. 生成 dump 文件 用 jmap 生产 dump 文件 jmap -dump:format=b,file=HeapDump.bin <pid> 2. MAT 安装与介绍 下载地址:http://www.eclipse.org/mat/downloads.php 通过 MA

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

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

Eclipse Memory Analyzer 使用技巧

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

使用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 Memory Analyzer分析Tomcat内存溢出(转)

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

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 tool(MAT)(一)【转】

前言 在平时工作过程中,有时会遇到OutOfMemoryError,我们知道遇到Error一般表明程序存在着严重问题,可能是灾难性的.所以找出是什么原因造成OutOfMemoryError非常重要.现在向大家引荐Eclipse Memory Analyzer tool(MAT),来化解我们遇到的难题.如未说明,本文均使用Java 5.0 on Windows XP SP3环境. 为什么用MAT 之前的观点,我认为使用实时profiling/monitoring之类的工具,用一种非常实时的方式来分