MAT分析

来源:互联网 发布:大型企业网络设计方案 编辑:程序博客网 时间:2024/06/02 02:53

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表示可能存在的几个内存泄露点;




参考文章:http://wensong.iteye.com/blog/1986449 

          http://blog.csdn.net/aaa2832/article/details/19419679 

          http://docs.oracle.com/javase/7/docs/technotes/tools/share/jmap.html



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 军用水壶瘪了怎么办 木头壶盖有异味怎么办 挎包拉链坏了怎么办 斜挎包没有拉链怎么办 树脂补牙没抛光怎么办 猪拉稀不吃食怎么办 亚麻衣服刺皮肤怎么办 自热米饭不熟怎么办 孕妇用了微波炉怎么办 蛋挞变软了怎么办 外卖炒面坨了怎么办 手机发热充电慢怎么办 饭盒盖子松了怎么办 饭盒盖子盖不住怎么办 饭盒盖子吸不住怎么办 饭盒盖子变形了怎么办 饭盒盖子凹进去怎么办 饭盒盖吸不住怎么办 饭盒微波炉加热后打不开怎么办 微波炉加热饭盒打不开怎么办 塑料饭盒加热后打不开怎么办 真空锅锅盖打不开怎么办 玻璃真空水壶打不开怎么办 保温饭盒盖子打不开怎么办 饭盒盖章松了怎么办 电压力锅卡住了怎么办 铁的饭盒打不开怎么办 微波炉饭盒盖子打不开怎么办 微波炉盖子吸住了怎么办 剩下的糯米饭怎么办 饭盒微波加热打不开怎么办 微波炉触屏不灵怎么办 微波炉旋钮坏了怎么办 微波炉蒸馒头硬怎么办 小猫两天不吃饭怎么办 减肥吃了巧乐兹怎么办 孕妇吃了点蟹籽怎么办 做寿司没有肉松怎么办 做寿司没有海苔怎么办 孩子不爱吃早餐怎么办 早上不想吃早餐怎么办