MAT分析
2016-03-14 16:30
232 查看
MAT全称为Memory Analzyer Tool,即一个Java Heaper分析器,可以用来分析内存泄露和减少内存消耗,它是eclipse的一个插件,可独立运行,具体分析步骤:
1. 工具下载,下载地址:https://www.eclipse.org/mat/downloads.php;根据不同的操作系统选择不同的版本下载安装;
2. 打印dump日志信息:使用jmap命令打印dump日志,命令参数及格式如下:
jmap -dump:format=b,file=heap.bin <pid>
format参数为文件格式,此处b表示为二进制;file为文件名称,pid为当前jvm进程号;
在自动部署系统中可以用过“JVM统计监测工具”打印dump日志;
1. MAT参数调整:jmap-dump命令产生的二进制文件大小与系统JVM的堆内存配置有关,一般生产环境上的堆内存-xms、-xmx等参数设置比较大,如2G/4G/8G不等,所以在利用MAT打开jmap文件时也需要很大的内存空间,可以修改安装目录下的MemoryAnalyzer.ini配置文件中的-xmx来进行调整;
一般改配置文件格式如下:
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20140603-1326
-vmargs
-Xmx5500m
如果MAT内存不足,在打开jmap文件时会报错,具体信息为:
An internal erroroccurred during: "Parsing heap dump from “\*\*\*.log”Java heap space
1. 日志文件分析:打开MAT,点击界面左上角的“File à Open Heap Dump”,选择二进制dump日志,点击确认后开始进行分析,这个过程可能比较慢,在2G的堆内存配置下,大概需要2~3分钟,待分析完之后会生成很多临时文件,具体情况见下图:
一般如果出现内存泄露,MAT会给出相应的“LeakSuspects”,可以选择“Leaks”查看具体的内存泄露点,新窗口“leakhunter”下包括Overview、Problem Suspect1等,其中Problem Suspect1~N表示可能存在的几个内存泄露点;
参考文章:/content/2772082.html
http://blog.csdn.net/aaa2832/article/details/19419679 http://docs.oracle.com/javase/7/docs/technotes/tools/share/jmap.html
1. 工具下载,下载地址:https://www.eclipse.org/mat/downloads.php;根据不同的操作系统选择不同的版本下载安装;
2. 打印dump日志信息:使用jmap命令打印dump日志,命令参数及格式如下:
jmap -dump:format=b,file=heap.bin <pid>
format参数为文件格式,此处b表示为二进制;file为文件名称,pid为当前jvm进程号;
在自动部署系统中可以用过“JVM统计监测工具”打印dump日志;
1. MAT参数调整:jmap-dump命令产生的二进制文件大小与系统JVM的堆内存配置有关,一般生产环境上的堆内存-xms、-xmx等参数设置比较大,如2G/4G/8G不等,所以在利用MAT打开jmap文件时也需要很大的内存空间,可以修改安装目录下的MemoryAnalyzer.ini配置文件中的-xmx来进行调整;
一般改配置文件格式如下:
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20140603-1326
-vmargs
-Xmx5500m
如果MAT内存不足,在打开jmap文件时会报错,具体信息为:
An internal erroroccurred during: "Parsing heap dump from “\*\*\*.log”Java heap space
1. 日志文件分析:打开MAT,点击界面左上角的“File à Open Heap Dump”,选择二进制dump日志,点击确认后开始进行分析,这个过程可能比较慢,在2G的堆内存配置下,大概需要2~3分钟,待分析完之后会生成很多临时文件,具体情况见下图:
一般如果出现内存泄露,MAT会给出相应的“LeakSuspects”,可以选择“Leaks”查看具体的内存泄露点,新窗口“leakhunter”下包括Overview、Problem Suspect1等,其中Problem Suspect1~N表示可能存在的几个内存泄露点;
参考文章:/content/2772082.html
http://blog.csdn.net/aaa2832/article/details/19419679 http://docs.oracle.com/javase/7/docs/technotes/tools/share/jmap.html
相关文章推荐
- 美女程序员如何面对男友出轨
- mybatis入门到精通01
- ContextMenu的简单使用
- 算法学习之Floyd-warshall多源最短路问题
- android 杀不死服务 解析
- 【MongoDB】MongoDb的“not master and slaveok=false”错误及解决方法
- Conditionals with Omitted Operands (x ? : y)
- Mysql 主从热备份
- Arrays.asList()方法的限制
- "此证书的签发者无效",系统认证证书(AppleWWDRCA.cer)过期或删除
- WebRTC 1.0: Real-time Communication Between Browsers
- oracle 11g ADG做(switchover)切换测试
- sublime text 3的初步配置
- 链表的游标实现
- webapp开发技巧
- java 垃圾收集器
- 基于javascript html5实现3D翻书特效
- 左移右移运算符的探究
- hiho 1270(dp)
- lightoj 1021 - Painful Bases 状压DP