Linux下使用 Memory Analyzer
一. 安装Memory Analyzer Tool
打开eclipse >> Help >> Install New Software >> 点击Work With右边的Add,输入
[Name] MAT
[Location] http://archive.eclipse.org/mat/1.2/update-site/

点击OK >> 点击Install 窗口下的Select All(选择全部), 然后一直点 下一步 直到结束即可。
二.使用Memory Analyzer
创建java项目(只需一个类),代码(类名OOMObject)
1 import java.util.ArrayList;
2 import java.util.List;
3
4 /**
5 * Created by foreverenjoy on 16-7-9.
6 */
7 public class HeapOOM {
8 static class OOMObject {
9
10 }
11
12 public static void main(String[] args) {
13 List<OOMObject> list = new ArrayList<>();
14
15 while (true) {
16 list.add(new OOMObject());
17 }
18 }
19 }
JAVA Code
在Debug Cofigurations中设置VM参数:
-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError
通过参数-XX:+HeapDumpOnOutOfMemoryError可以让虚拟机在出现内存溢出异常时Dump出当前的内存堆转存快照以便事后分析。

点击debug运行项目,会出现
java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid17179.hprof ...
Heap dump file created [27535550 bytes in 0.099 secs]
java_pid17179.hprof(虚拟机Dump出的内存堆转存快照)文件可以用Memory Analyzer Tool进行分析。
点击File >> Open File >> 选中本Java项目下的java_pid17179.hprof(java_*.hprof) >> 选中Leak Suspecs Report >> Finish

以下就是Memory Analyzer的分析结果

Linux下使用 Memory Analyzer的更多相关文章
- win7 mount到Linux下无法分配内存的问题(Cannot allocate memory)
如题,我在win7系统下共享目录,mount到linux下,进行编译或者某些操作,出现Cannot allocate memory提示. 修改以下两个键值,然后重启server服务,可以解决这个问题: ...
- [Android Memory] Linux下malloc函数和OOM Killer
http://www.linuxidc.com/Linux/2010-09/28364.htm Linux下malloc函数主要用来在用户空间从heap申请内存,申请成功返回指向所分配内存的指针,申请 ...
- 使用MAT(Memory Analyzer Tool)工具分析dump文件--转
原文地址:http://gao-xianglong.iteye.com/blog/2173140?utm_source=tuicool&utm_medium=referral 前言 生产环境中 ...
- Linux C/C++ Memory Leak Detection Tool
目录 . 内存使用情况分析 . 内存泄漏(memory leak) . Valgrind使用 1. 内存使用情况分析 0x1: 系统总内存的分析 可以从proc目录下的meminfo文件了解到当前系统 ...
- 使用Memory Analyzer tool(MAT)分析内存泄漏(一)
转载自:http://www.blogjava.net/rosen/archive/2010/05/21/321575.html 前言 在平时工作过程中,有时会遇到OutOfMemoryError,我 ...
- 2016021903 - 下载安装使用Memory Analyzer
Memory Analyzer是做什么的? 分析java程序中分析内存泄露问题. 1.下载Memory Analyzer Memory Analyzer下载地址:http://www.eclipse. ...
- 转:Eclipse Memory Analyzer入门学习笔记
原文地址:https://blog.csdn.net/cc907566076/article/details/79108782 Eclipse Memory Analyzer是一个快速而功能丰富的Ja ...
- 萌新笔记——linux下查看内存的使用情况
windows上有各种软件可以进行"一键加速"之类的操作,释放掉一些内存(虽然我暂时不知道是怎么办到的,有待后续学习).而任务管理器也可以很方便地查看各进程使用的内存情况,如下图: ...
- LINUX下编译安装PHP各种报错大集合
本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...
随机推荐
- 用jsonp实现搜索框功能
用jsonp实现搜索框功能 前面的话: 在上周本来想发一篇模仿必应搜索的界面.但是在准备写文章之前突然想到前面学习了ajax技术,在这里我也让我的页面有一种不需要手动刷新就能获取到数据.但是发现用前面 ...
- JAVA调用 keytool 生成keystore 和 cer 证书
keytool是一个Java数据证书的管理工具, keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中在keystore里, 包含两种数据: 密钥实体( ...
- [C#] 获取打印机列表
一:获得本地安装的打印机列表 注:(如果在"设备和打印机"中已经添加了局域网的打印机设备,也算是本地安装的打印机:没有添加的则算作局域网打印机) 1,通过 C# 中 Printer ...
- C#基础-文件夹复制与删除
代码来源:http://blog.163.com/u_tommy_520/blog/static/20406104420147493933662/ 最近做MVC网站时刚好用到,用以提供一个完整的文件夹 ...
- es6 中增强的对象字面量
http://www.cnblogs.com/Wayou/p/es6_new_features.html 对象字面量被增强了,写法更加简洁与灵活,同时在定义对象的时候能够做的事情更多了.具体表现在: ...
- super.getClass()方法调用
下面程序的输出结果是多少?import java.util.Date;public class Test extends Date{public static void main(String[] a ...
- Ehcache 缓存使用
在开发高并发量,高性能的网站应用系统时,缓存Cache起到了非常重要的作用.本文主要介绍EHCache的使用,以及使用EHCache的实践经验. 笔者使用过多种基于Java的开源Cache组件,其中包 ...
- Oracle学习总结_day05_集合_连接查询
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day05_集合_连接查询 集合操作符 UNION ( ...
- jquery 格式化系统时间
Date.prototype.Format = function (fmt) { //javascript时间日期函数 var o = { "M+": this.getMonth( ...
- [moka同学笔记]六、Yii2.0课程笔记(魏曦老师教程)[徽章气泡]
