MAT Memory Analyzer Tool 插件包离线安装(图解)

【本文转载于MAT Memory Analyzer Tool 插件安装(图解)

前段时间做了一个项目,Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

出现这个错误,所以需要查找原因,所以就用到这个工具,安装比较麻烦,贴出来和大家共享一下:

第一步:下载Eclipse MAT

下载地址:http://www.eclipse.org/mat/downloads.php

第二步:下载之后将压缩包解压,放置到Myeclipse 的\MyEclipse 9\dropins目录下

解压后会看见这些文件: 纠正下面一个错别字不是"写"是 "下"

第三步:按照下图,A,B,C的顺序进行对应的文件的创建

第四部:重启Myeclipse,打开Window->Perferences,你会看见这个项目:

简单的说一下使用(控制台的)如果是tomcat或者是别的服务器需要你去查如何配置JVM参数:

以下是一个会导致java.lang.OutOfMemoryError: Java heap space的程序代码:(very easy)

[java] view
plain
copy

  1. package org.lx.test;  
  2.   
  3. import java.util.Date;  
  4. import java.util.HashMap;  
  5. import java.util.Map;  
  6.   
  7. public class OutOfMemoryTest {  
  8.     public static void main(String[] args) {  
  9.         Map<Integer,Date> map=new HashMap<Integer, Date>();  
  10.         for (int i = 0; i < 600000000; i++) {  
  11.             map.put(i, new Date());  
  12.         }  
  13.     }  
  14.       
  15.       
  16. }  

首先在运行之前有一些参数需要设置:

然后就到了参数设置的页面,按照A,B的顺序设置参数:(-XX:+HeapDumpOnOutOfMemoryError)避免写错误可以copy

运行错误的程序代码会看见以下结果:

那么这时候就生成了一个文件java_pid3708.hprof,这个文件 在你的项目的根目录下(myeclipse10)

那么接下来我们就打开这个文件进行分析如何打开见下图:(选中刚刚在项目根目录下生成的文件java_pid3708.hprof打开)

打开之后你会看见下图就OK了:

至于这其中问题如何查找请参考以下连接:

以下文章已经说的非常详细了:

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

2.使用mat进行dump文件分析

如有问题,请指正!谢谢!

时间: 2024-07-30 01:34:02

MAT Memory Analyzer Tool 插件包离线安装(图解)的相关文章

使用Memory Analyzer tool(MAT)分析内存泄漏(二)

[本文转载于使用Memory Analyzer tool(MAT)分析内存泄漏(二)] 前言 在使用Memory Analyzer tool(MAT)分析内存泄漏(一)中,我介绍了内存泄漏的前因后果.在本文中,将介绍MAT如何根据heap dump分析泄漏根源.由于测试范例可能过于简单,很容易找出问题,但我期待借此举一反三.一开始不得不说说ClassLoader,本质上,它的工作就是把磁盘上的类文件读入内存,然后调用java.lang.ClassLoader.defineClass方法告诉系统把

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

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

如何进行Logstash logstash-input-jdbc插件的离线安装

我们单位的服务器位于隔离区,不允许链接互联网,因此整理了在ELK集群上离线安装Logstash的jdbc input插件的方法,供大家参考. 总体思路是需要一台中转的机器,这台机器需要能够访问互联网,先在这台机器中将需要安装的插件及依赖包制作成离线安装包,然后再拷贝到生产机器上安装. 打包 打包前的注意事项1.确保需要打包的插件及其依赖插件都已经安装在中转机器上2.执行./logstash-plugin prepare-offline-pack logstash-input-jdbc来打包 打包

CentOS中使用RPM包离线安装MySQL数据库

之前一直是使用Ubuntu,习惯了在线安装的方式,此次在centos中使用rmp包进行李先安装,记录下步骤: 1.检测本机安装的MySQL并卸载 rpm -qa|grep -i mysql 检查结果: mysql-5.1.66-2.el6_3.x86_64 mysql-libs-5.1.66-2.el6_3.x86_64 mysql-devel-5.1.66-2.el6_3.x86_64 说明系统中已经带有MySQL,将其卸载: rpm -e --nodeps mysql-devel-5.1.6

Eclipse Memory Analyzer 安装(Update Site: http://download.eclipse.org/mat/1.3.1/update-site/ )

安装 Memory Analyzer 1>下载 http://www.eclipse.org/mat/downloads.php 2>安装 获得堆转储文件 //查看 tomcat  pid     ps -elf|grep tomcat // return 5183 // jmap 位于 java_home/bin/目录 jmap -dump:format=b,file=heap.bin   5183 查看heap.bin文件 Eclise --> Eclipse==>Open F

解析离线安装Eclipse的Android ADT开发插件的具体操作(图文)_Android

不知道大家是不是有过这样的感觉.从 https://dl-ssl.google.com/android/eclipse/很慢呢!我是教育网所以确实是很慢的.所以我想了一个办法确保可以快点安装上ADT15.当然ADT16.ADT17也是可以的.不过我还是用ADT15做演示把.(注意:不同的SDK对应的ADT版本也不同,同时在安装时要断开网络) 开发插件的具体操作(图文)_Android-eclipse adt 离线安装"> 很熟悉把,这是Eclipse解压后的图片当然ADT是要自己下载的.我

离线安装docker最新版,记得要以下三个包。

如果安装了以前版本,还要删除以下这个包. container-selinux.noarch 2:2.10-2.el7 ============== 离线安装三个rpm -rw-r--r--. 1 root root 19524568 May 15 10:04 docker-ce-17.03.1.ce-1.el7.centos.x86_64.rpm-rw-r--r--. 1 root root 29108 May 15 10:04 docker-ce-selinux-17.03.1.ce-1.el

Visual Studio 2012 更新包2发布,附离线安装方法及下载

   Visual Studio2012 的第二辑更新包已经发布了,其中包括了去年12月份发布的Update1的所有特性,同时修复了社区反馈的一些Bug和添加了一些新技术及特性,主要变化访问官方文档. 离线更新包获取步骤   每次出更新的时候最烦微软不提供离线安装包,只可以在线安装,而在线安装的那个速度真的不敢恭维,并且妳重装系统过又要重新在线安装.如果提供离线下载,那我们就可以通过迅雷,IDM等下载工具下载,那样会使更新操作快很多. 还好网上有人提供了下载安装包保存到本地的办法,这样一次下载后

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

简介: Eclipse Memory Analyzer(MAT)是著名的跨平台集成开发环境 Eclipse Galileo 版本的 33 个组成项目中之一,它是一个功能丰富的 JAVA 堆 转储文件分析工具,可以帮助你发现内存漏洞和减少内存消耗.本文主要介绍如 何安装配置 Memory Analyzer,并结合一个实例,介绍如何利用 MAT 来进行堆转 储文件分析,找到内存泄露的根源. 概述 对于大型 JAVA 应用程序来说,再精细的测试也难以堵住所有的漏洞,即便我 们在测试阶段进行了大量卓有成