打开分析 查看堆快照文件_eclipse配置和使用memory Analyse分析内存

本文介绍了如何在Eclipse中安装Memory Analyzer插件,并通过设置JVM参数生成堆转储文件。在遇到Java堆内存溢出时,使用MAT分析内存泄漏,找出可能的问题原因。
摘要由CSDN通过智能技术生成

1. 安装

在Eclipse help -> Eclipse Marketplace下搜索Memory:

图 1-1 搜索MAT插件

按照步骤安装完成重启即可。

2. 测试代码准备

测试代码

/**

*

* @description HeapOOM

*

Java堆异常测试

* VM Args: -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError

*

以上参数的含义是:限制Java堆大小为20MB,不可扩展

*

通过此参数可以让虚拟机在出现内存溢出异常时Dump出当前的内存堆转储快照

* @author Yampery

* @date 2017年6月16日 下午11:42:46

*/

public class HeapOOM {

static class OOMObject { }

public static void main(String[] args) {

List list = new ArrayList();

while (true) {

list.add(new OOMObject());

} /// while end

} /// main

} ///~

/**

* 运行结果:

* java.lang.OutOfMemoryError: Java heap space

* Dumping heap to E:\job\java_pid4056.hprof ...

* Heap dump file created [28010445 bytes in 0.373 secs]

* Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

*/

3. Eclipse中的运行参数设置

-Dfile.encoding=UTF-8

-Xms20m -Xmx20m ##设置堆大小20m,并将最小和最大值设置相等,避免扩展

-XX:+HeapDumpOnOutOfMemoryError ##dump出当前的内存堆转储快照

-XX:HeapDumpPath=E:\job ##指定路径(转储文件还是挺大的)

-XX:SurvivorRatio=8 ## 存活比2:8

图2-1 eclipse运行参数设置

4.运行测试代码

通过上述可以看见堆转储快照文件是.hprof 文件。

5. 打开堆转储快照

打开MAT

图 3-1 设置界面显示MAT

图 3-2 打开或获取dump

打开dump文件

默认打开Leak Memory(泄漏)

图 3-3 dump文件

Eclipse Memory Analyzer 分析内存泄露

OutOfMemoryError示例 代码 package com.walson.heap; import java.util.ArrayList;import java.util.List; /** ...

使用Eclipse Memory Analyzer分析内存

1 内存泄漏的排查方法 Dalvik Debug Monitor Server (DDMS) 是 ADT插件的一部分,当中有两项功能可用于内存检查 : ·    heap 查看堆的分配情况 ·     ...

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

一次使用Eclipse Memory Analyzer分析Tomcat内存溢出 前言 在平时开发.测试过程中.甚至是生产环境中,有时会遇到OutOfMemoryError,Java堆溢出了,这表明程序 ...

Eclipse Memory Analyzer,内存泄漏插件,安装使用一条龙

网上文档很多,但最初都有问题.整理一份,作为备份.使用过程:开发代码写完后,对可能出现内存溢出的代码,添加配置文件,生成.hprof文件,用memory Analyzer分析排查问题,且泄漏内存大小可 ...

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

转载自:http://www.blogjava.net/rosen/archive/2010/06/13/323522.html 前言的前言 写blog就是好,在大前提下可以想说什么写什么,不像投稿那 ...

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

前言的前言 写blog就是好,在大前提下可以想说什么写什么,不像投稿那么字字斟酌.上周末回了趟成都办事,所以本文来迟了.K117从达州经由达成线往成都方向走的时候,发现铁路边有条河,尽管我现在也不知道 ...

你不知道的Eclipse的用法:使用MAT分析Android的内存

如果使用DDMS确实发现了我们程序中存在内存泄露,那如何定位到具体出现问题的代码片段,最终找到问题所在呢?如果从头到尾分析代码逻辑,那肯定会把人逼疯,特别是在维护别人写的代码的时候.这里介绍一个极好的 ...

MAT(Memory Analyzer Tool)内存分析工具的使用

开发.应用中老是会遇到OutOfMemory异常,而且常常是过一段时间内存才被吃光,这里可以利用java heap dump出jvm内存镜像,然后再对其进行分析来查找问题. 平常利用jmap -dum ...

Net Memory Profiler 分析.Net程序内存泄露

Net Memory Profiler 分析.Net程序内存泄露 Haozes's Tech Space 人類的全部才能無非是時間和耐心的混合物 使用.Net Memory Profiler 分析.N ...

随机推荐

为C# as 类型转换及Assembly.LoadFrom埋坑!

背景: 不久前,我发布了一个调试工具:发布:.NET开发人员必备的可视化调试工具(你值的拥有) 效果是这样的: 之后,有小部分用户反映,工具用不了(没反应或有异常)~~~ 然后,建议小部分用户换个电脑 ...

MVC采用Jquery实现局部刷新

该文纯粹属于个人学习,有不足之处请多多指教! 效果图: 单击Detail下面出现详细,效果如下: 为了使操作时两个不同的数据源相互干扰,使用局部视图刷新,代码如下: 首先介绍主页Index代码: @m ...

费用流 ZOJ 3933 Team Formation

题目链接 题意:两个队伍,有一些边相连,问最大组对数以及最多女生数量 分析:费用流模板题,设置两个超级源点和汇点,边的容量为1,费用为男生数量.建边不能重复建边否则会T.zkw费用流在稠密图跑得快,普 ...

MBProgressHUD框架的使用:https://github.com/jdg/MBProgressHUD

MBProgressHUD是一个开源类库,实现了各种样式的提示框, 下载地址:https://github.com/jdg/MBProgressHUD,然后把两个MBProgressHUD.h和MBP ...

PHP实现的Mysql读写分离

本代码是从uchome的代码修改的,是因为要解决uchome的效率而处理的.这个思维其实很久就有了,只是一直没有去做,相信也有人有同样的想法,如果有类似的,那真的希望提出相关的建议.封装的方式比较简单 ...

电脑右键新建文本文档(txt)消失的解决办法

其实只需要一个注册表就可以了 下载地址http://pan.baidu.com/s/1hr7r0fM 拿走不谢! 注册表的内容是这样的,你也可以新建一个文件把后缀名改成.reg然后把下面的内容copy ...

kvstore之mongodb为存储介质

配置config(连接mongo) mongo define('KVSTORE_STORAGE', 'base_kvstore_mongodb'); define('MONGODB_SERVER_CO ...

hadoop工作流引擎之azkaban

Azkaban是twitter出的一个任务调度系统,操作比Oozie要简单很多而且非常直观,提供的功能比较简单.Azkaban以Flow为执行单元进行定时调度,Flow就是预定义好的由一个或多个可存在 ...

ZTREE改版 -- 增删减 -- 图标字体化 完整改版

引言 这次主要更新增删改功能以及修复存在的一些bug:图标能动态改变,回调函数添加 ZTREE改版功能完善 前面文章对于改版过程做了较详细的解释,这里就不多加赘述了,直接看效果图: 增加按钮: 修改节 ...

For循环将将数字集合分类写入字典

有以下数字集合[11,22,33,44,55,66,77,88,99,25,35,45,66,88],将所有大于66的值保存至字典的第一个key中,将小于66的值保存至第二个key的值中.即{'k1' ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值