Eclipse MAT 工具的使用(a)
来源:互联网 发布:毕业论文数据去哪里找 编辑:程序博客网 时间:2024/06/05 10:45
一、安装Eclipse MAT插件
1.打开Eclipse->help->add->输入如下值
2.勾选Memory Analyzer for Eclipse IDE选项
3.一直点击next完成安装
ps:由于软件更新频繁,所以在线安装网址时常变化,推荐离线安装:在http://www.eclipse.org/mat/downloads.php下载插件后用eclipse进行离线安装。
二、使用
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.检查器 – 选择一个对象,并显示其详细信息
- Eclipse MAT 工具的使用(a)
- Eclipse MAT 工具的使用
- MAT 工具的使用
- JVM《eclipse mat内存分析工具的使用》
- Eclipse内存分析工具MAT的安装与使用
- MAT(内存分析工具)的使用
- eclipse内存分析工具MAT使用
- 在命令行中使用Eclipse MAT工具
- 在命令行中使用 Eclipse MAT 工具
- 在命令行中使用Eclipse MAT工具
- 基于eclipse的MAT使用
- Eclipse 如何安装和使用 MAT 插件(内存映像分析工具 Eclipse Memory Analyzer)
- android 内存分析(MAT工具的使用)
- android 内存分析(MAT工具的使用)
- android 内存分析(MAT工具的使用)
- android 内存分析(MAT工具的使用)
- android 内存分析(MAT工具的使用)
- (转)内存分析工具 MAT 的使用
- 数据库设计技巧
- jQuery中each的break和continue
- 运行tomcat7w.exe tomcat7.exe ,提示 指定的服务未安装 unable to open the service 'tomcat7'
- yaotswkigldppe
- 【2015.07.13周一】【定义】我的csdn博客文档规范
- Eclipse MAT 工具的使用(a)
- Manacher算法--O(n)回文子串算法
- DDMS的使用、内存溢出的调试和模拟器的启动命令参数
- 【剑指Offer学习】【面试题57:删除链表中重复的结点】
- 二层交换机的接口配置
- 【AJAX学习】【01】【开始】 ajax起步
- 【剑指Offer学习】【面试题58:二叉树的下一个结点】
- 如何看待交换机的启动配置文件???
- JS中变量名作为if条件的真/假