Eclipse MAT 工具的使用(a)

一、安装Eclipse MAT插件

1.打开Eclipse->help->add->输入如下值


2.勾选Memory  Analyzer for Eclipse IDE选项


3.一直点击next完成安装


二、使用

1.打开ADT的DDMS视图,在devices列表中选择一个进程(这里选择oschina app进行分析)并点击红框处,然后点击右边那个按钮

这时就会出现MAT的overview界面

2.界面分析

a.overview界面,如上图,提供一个概览界面

b.Histogram视图,它提供每个类的对象统计


c.支配树(Dominator Tree),提供程序中最占内存的对象 (described later in the article)


d.对象查询语言(Object Query Language Studio), 用来写MAT查询的工具


e.专家系统测试(Expert System Test)

i.堆Dump概况(Heap Dump Overview) –提供堆dump文件的详细信息

ii.疑似泄露点(Leak Suspects) – 提供内存泄露疑点占用内存大小,被谁加载的,以及类型等详细信息。

iii.Top Components – 提供占内存最多的对象信息,还包括可能的内存浪费信息.

f.查询浏览器(Query Browser) – 提供很多很有用的查询,有助于内存分析,本文将会介绍最有用的那些查询。根据地址查找对象 – 可以根据提供的一个地址查找某个特定的对象.

i.对象列表(List Objects) – 显示应用中所有对象,以及这些对象持有哪些其他对象和被哪些其他对象持有,(MAT会提示查询哪一个对象)。

ii.根据类显示对象(Show Objects by Class) – 列出每个类有多少对象.

iii.到GC根节点的路径(Path to GC Roots) – 显示到根节点的引用路径 (有好多过滤选项).

iv.合并到GC根节点的最短路径(Merge Shortest Paths to GC Roots) –找到从GC根节点到一个对象或一组对象的共同路径

v.即时支配(Immediate Dominators) – Finds and aggregates on a class level all objects dominating a given set of objects. 在给定的一组对象中,从类的层面上查找并聚合所有支配关系。(在垃圾回收理论中支配是指从某个对象在另外一个对象的保留堆中)

vi.显示保留集合(Show Retained Set) – 计算一个对象的保留堆大小.

g.饼图 – 显示持有内存最大的对象

h.直方图 – 显示每个类的对象数量

i.支配树 – 列出所有对象,并按照对象持有的保留堆大小排序

j.检查器 – 选择一个对象,并显示其详细信息


  • 0
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Eclipse中的MAT(Memory Analyzer Tool)工具是一个功能强大的Java堆内存分析器,用于帮助开发人员识别、排查和解决Java应用程序中的内存问题。使用MAT工具可以帮助开发人员找出内存泄漏、内存消耗大、内存溢出等一系列内存相关问题,并改善应用程序的性能。 使用MAT工具的教程如下: 1. 安装MAT工具:在Eclipse中选择“帮助”-“Eclipse市场”,搜索并安装“Memory Analyzer”插件。 2. 打开MAT工具:在Eclipse中选择“窗口”-“打开视图”-“其他”,选择“Memory Analyzer”,或者通过快捷键(Ctrl+7)打开MAT窗口。 3. 导入堆文件:在MAT窗口中选择“文件”-“导入”,选择要分析的堆文件(.hprof或.phd格式),点击“完成”。 4. 分析堆转储文件:在导入堆文件后,MAT会自动进行堆转储文件的分析,分析时间取决于堆文件大小。分析完成后,将在左侧导航栏显示分析结果。 5. 查看内存泄漏:在左侧导航栏中选择“Leak Suspects”或“Dominator Tree”,可以查看潜在的内存泄漏对象和内存占用最大的对象。 6. 查看内存使用情况:在左侧导航栏中选择“Histogram”,可以查看应用程序中各个类的实例数量和内存占用情况。 7. 查找对象:在左侧导航栏中选择“Object Query”,可以根据条件 查询、过滤和查找特定类型的对象。 8. 优化内存使用:根据分析结果,找到内存泄漏或者内存占用较大的对象,并修改代码或调整内存配置来解决问题。 9. 导出报告:在MAT窗口中选择“文件”-“导出”-“HTML”,可以将分析结果导出为HTML格式的报告,方便查阅和分享。 MAT工具是一个强大的工具,但也需要一定的学习和实践才能掌握其使用技巧。建议开发人员在实际项目中应用MAT工具,通过阅读其官方文档和实践使用,逐步提高自己的堆内存分析能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值