十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。

内存分析工具MAT

上一篇 / 下一篇  2013-05-19 13:14:47 / 个人分类:java性能分析

文章来源
  • 文章来源:【转载】

?)Jk-h(x0简介:51Testing软件测试网Nfy&w4Ii
Eclipse提供的一个内存分析工具。它是一个功能丰富的 JAVA 堆转储文件分析工具,可以帮助你发现内存漏洞和减少内存消耗。51Testing软件测试网&N*X:} `%j.t}`c
官网地址:http://www.eclipse.org/mat51Testing软件测试网!H0Q2NJ x3z,m+n

0AH)Mze/C4l0安装(如果你使用的是MOTODEV Studio for Android则默认自带了该工具)51Testing软件测试网 ycL)N ~EHN7^,yJ
你可以选择安装Eclipse提供的原版插件或使用MOTODEV Studio for Android插件51Testing软件测试网.Zl2Gt{
51Testing软件测试网c*}+_8s$BN
>>1.原版插件51Testing软件测试网e]g!uJ4iV)| L
1).启动Eclipse,一次点击Help -> Intall New Software...;
]S'e F1s(nE3X!H T02).点击输入栏右侧小箭头,选择"Galileo"(我的是3.5版,不同版本要找到和自己版本名称对应的);
J;F5p`2k8M.nl4O03).等待列表更新完毕,找到并展开"General Purpose Tools";51Testing软件测试网H(`5D8Lr4n R
4).选中并下载其中的"Memory Analyser (Incubation)"和"Memory Analyser (Charts)"两项。
1] f;C,@ X5[1s^n0
?P `(}#p&z&_ ~0>>2.MOTODEV Studio for Android插件
9K[H w5p&?+DU01).启动Eclipse,一次点击Help -> Intall New Software...;51Testing软件测试网k1\*Vy)Rl[8h/R
2).通过Add新建一个更新(最新地址可在此获得):51Testing软件测试网ci5r5f/l
    Name:MOTODEV Studio for Android Plugin
*ze |*p!BV|x Z0    Location:https://studio-android.motodevupdate.com/android/2.0
m9l)^l zv03).下载并安装此更新。
p9N _G lHckBy0*如果主要针对Android开发,建议使用MOTODEV Studio for Android的整合插件,应为它还提供了很多便利的工具,不过如果已经安装了ADT的需要先手动卸载才能安装,具体请参考:作为插件安装 MOTODEV Studio。51Testing软件测试网0`4W Mg@X#R/l K^
51Testing软件测试网9e ~Vr-YSm \G
使用方式1 —— 带参数运行
GXg}*KKA4{$O:z0具体可参考:Eclipse Memory Analyser (MAT) - Tutorial51Testing软件测试网Ch@#j_4C
归纳的大致步骤:51Testing软件测试网M2}W`+n R+^
(1)在Run Conigurations..中的Arguments设置VM argument为:
E(GmNs~aY_0-XX:+HeapDumpOnOutOfMemoryError51Testing软件测试网:r9i.s [?Fm
(2)运行你的项目并生成.hprof文件,如果没看到请按F5刷新项目目录,就在根目录下;
7j0q:JJ0}5B4wV0(3)双击.hprof文件打开,选择"Leak Suspects Report"
R(dO~4`@0
/V*o'nQy(HA'l*_5_0使用方式2 —— 结合Sequoyah监控特定的设备及应用
&DR;tT0p3F0<该方式需要你安装了Sequoyah或MOTODEV Studio for Android插件>

U4Z1Cb,oh+d;u0具体可参考:使用MAT分析应用内存51Testing软件测试网 xN)[x!t$M)e/E
51Testing软件测试网$J"hA:j%}U-`Q![ fc
--------------------------------------------------------51Testing软件测试网N.l wc E
*注意:
"Z _0B2\bk;I0解析过大的HeapDump可能会导致Eclipse抛出OutOfMemory的错误:51Testing软件测试网 t Tj/N'Pm
51Testing软件测试网2t%p"B @W
 51Testing软件测试网5ux3J#?4el` H
这时你需要手动调整Eclipse的缓存大小,可参考官网给出的处理方式(原文链接):51Testing软件测试网2E{{N"uZY
51Testing软件测试网&BV4`ZrP
 
6G!A6^lv0>>我的使用情况:
H2l7EL$ui/x0我的机器只能设到512m,而且始终没法解决OutOfMemory的问题,看来对内存有一定要求呐...
n)x-~ u `$G7P051Testing软件测试网0Ow]!X5Z vt%]
但是我下载了RPC版的MAT却是能正常打开的,Eclipse插件版打不开的朋友可以试试该方式:RPC版MAT下载地址51Testing软件测试网7qG e2eX6D4uU
--------------------------------------------------------51Testing软件测试网w*E*}!Zk:u

ko$po,NB'In0rmo uy0打开后的界面如下:51Testing软件测试网 F0I(nFH s"v
51Testing软件测试网O*bX2B$cp

51Testing软件测试网K0q&pb-vmd


ebRI0qWb0更详细的使用示例请参考以下文章51Testing软件测试网~"H dN*yL(\
http://wiki.eclipse.org/index.php/MemoryAnalyzer51Testing软件测试网 ~%G(\(Uz
—— 官方的帮助文档
[bS,_g Gx0
r"u;t5zJ$y_!k0使用 Eclipse Memory Analyzer 进行堆转储文件分析
m2P5y4rre0—— 来自IBM的使用教程51Testing软件测试网3j$I1?)c Y2d"d)o6q
51Testing软件测试网m8]$P7us`yk
Eclipse Memory Analyser (MAT) - Tutorial
%e7`Z5l-_\pS0—— 一个浅显易懂的MAT使用教程51Testing软件测试网1a n#m8^xFrP!g+X&[K
51Testing软件测试网 ~&U)A H0F+m/m z,H
使用Memory Analyzer tool(MAT)分析内存泄漏(一)51Testing软件测试网 sO{2n$dLl
使用Memory Analyzer tool(MAT)分析内存泄漏(二)51Testing软件测试网"AMI#V[ f
—— 详细地分析了内存泄露的原因,并举例说明,强烈推荐

4J?5o @f9fdn0

TAG: 内存分析

 

评分:0

我来说两句

Open Toolbar