简单介绍使用Eclipse Memory Analyze Tool来检查内存溢出和内存泄露

1. 安装Eclipse Memory Analyze Tool(Eclipse MAT)

Eclipse Help --> Install New Software... --> Add... --> 如下图 -> finish 重启 就行了

PS: MAT新版本的链接在此http://www.eclipse.org/mat/downloads.php (Location填的是Update Site)

2. 使用MAT跑Java项目的Dump,检查内存溢出和内存泄露

右键Java项目 --> 配置Run Configuration --> 在VM arguments 填入 -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError --> 点击Run 跑项目 --> 如果项目发生了OutOfMemoryError,就会在项目根目录下生成一个Dump文件(内存转储快照) --> Eclipse Open File --> 打开那个Dump文件即可看到详细内容了

时间: 2024-10-01 04:06:52

简单介绍使用Eclipse Memory Analyze Tool来检查内存溢出和内存泄露的相关文章

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

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

性能分析工具之-- Eclipse Memory Analyzer tool(MAT)(一)【转】

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

Andfroid 内存溢出与内存泄漏的简单分析与解决

<一>内存溢出与内存泄露 首先我们要知道内存溢出与内存泄露的概念,什么是内存溢出和内存泄露. 内存溢出:就想杯子里得水满了,就溢出了.内存溢出就是分配的内存被用光了,不够用了. 内存泄露:就如同杯子里面有石子,导致杯子里面的一部分空间没有被利用,在APP中内存泄露就是指该被回收的内存没有被回收,导致一部分内存一直被占着,可利用内存变少了.当泄露过多 时,可利用的内存越来越少,就会引起内存溢出了. <二> 查找内存泄露与内存溢出 (1) 内存溢出,最明显的地方就是报错,APP奔溃并报

性能分析工具之-- Eclipse Memory Analyzer tool(MAT)(二)【转】

在本文中,将介绍MAT如何根据heapdump分析泄漏根源.由于测试范例可能过于简单,很容易找出问题,但我期待借此举一反三. 一开始不得不说说ClassLoader,本质上,它的工作就是把磁盘上的类文件读入内存,然后调用java.lang.ClassLoader.defineClass方法告诉系统把内存镜像处理成合法的字节码.Java提供了抽象类ClassLoader,所有用户自定义类装载器都实例化自ClassLoader的子类.systemclass loader在没有指定装载器的情况下默认装

附件3:eclipse memory analyze使用教程

http://jingyan.baidu.com/article/ce09321b620a3d2bff858ff5.html 简单使用: 分析三步曲: 通常我们都会采用下面的"三步曲"来分析内存泄露问题: 首先,对问题发生时刻的系统内存状态获取一个整体印象. 第二步,找到最有可能导致内存泄露的元凶,通常也就是消耗内存最多的对象 接下来,进一步去查看这个内存消耗大户的具体情况,看看是否有什么异常的行为. 下面将用一个基本的例子来展示如何采用"三步曲"来查看生产的分析报

性能分析工具之-- Eclipse Memory Analyzer tool(MAT)(三)【转】

perm gen 我们在上2篇文章中知道,perm gen是个异类,里面存储了类和方法数据(与class loader有关)以及interned strings(字符串驻留).在heap dump中没有包含太多的perm gen信息.那么我们就用这些少量的信息来解决问题吧. 看下面的代码,利用interned strings把perm gen撑破了. /** * OOMPermTest class * @author rosen jiang */package org.rosenjiang.te

Eclipse Memory Analyzer 使用技巧

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

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

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

一次使用 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