栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Eclipse Memory Analyzer(MAT)使用方法(eclipse memory analyzer 浣跨敤鏂规硶)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Eclipse Memory Analyzer(MAT)使用方法(eclipse memory analyzer 浣跨敤鏂规硶)

Eclipse Memory Analyzer是Eclipse官方提供的用于分析JVM堆栈信息的工具

1,加载dump文件

加载完后选择Leak Suspects,会列出堆中占用比较大的可达对象,看到内存泄漏的可疑点以及细节信息,然后需要对实际代码进行分析,确认内存泄漏问题

查看OverView

datails中的Unreachable Objects Histogram可以查看不可达对象

Biggest Objects by Retained Size包含几个比较大对象,如果没有对象超过1%则忽略

2,查看泄漏报告Leak Suspect Report

一种是单个大对象导致泄漏,可以在dominator tree中排序

一种是有大量同类型对象泄漏,在dominator tree中使用类分组排序

泄漏嫌疑是线程时,会展示调用堆栈以及相关的栈帧和局部变量

3,大对象视图

菜单点击Query Browser > Leak Identification > Top Consumer,用于查看对象/类加载器/包的最大对象与饼图

4,寻找责任对象

在Histogram中选择对象右键Immediate Dominators,可查看在类级别上支配给定对象集的所有对象,它直接回答了“谁让这些对象保持活动状态”的问题,而不是“谁引用了这些对象”,利用每个对象只有一个直接支配者的事实,该工具可以过滤无用的支配者(例如java.*类),并直接查看负责的应用程序类。

5,类加载器分析

点击 Query Browser > Java Basics > Class Loader Explorer查看类加载器信息,可用于分析元空间占用过大问题。

类加载器将类装入JVM的内存中。在分析堆时,类加载器非常重要,原因有两个:第一,应用程序通常使用单独的类加载器加载组件。其次,加载的类通常存储在一个单独的空间(例如perm空间)中,该空间也可以被耗尽。

该表包含定义的类和活动实例的数量。如果一个类被多次加载,活动实例的数量可以指示哪个类加载程序更活跃,哪个应该被垃圾收集掉。

6,线程分析

一些堆转储文件包含有关线程的调用堆栈以及每个栈帧的Java本地对象的信息,可以分析线程的保留堆。

7,java集合使用分析

在工具栏点击Open Query Browser > Java Collections

Array Fill Ratio 打印数组的填充率,填充率是数组中非空元素的比例。

Arrays Grouped by Size Query 按大小分组的给定数组的分布直方图。

Collection Fill Ratio Query 打印给定集合填充率的频率分布。

Collections Grouped By Size Query 给定集合按大小的分布直方图。

Extract List Values Query 列出单个linkedList、ArrayList、Vector、CopyOnWriteArrayList、PriorityQueue、ArrayQueue对象的元素。

Hash Entries Query 从哈希映射和哈希表中提取键值对。

Extract Hash Set Values Query 列出单个哈希集的元素。

Map Collision Ratio Query 打印类map集合的碰撞率的频率分布

8,终止器分析

在工具栏点击Open Query Browser > Java Basics > Finalizer Overview,终结器在内部垃圾收集清理对象时执行。因为只有在finalize方法完成时才能释放内存,所以finalizer中长时间运行的任务可能会阻止垃圾收集。

In processing by Finalizer Thread 提取终结器线程当前处理的对象。

Ready for Finalizer Thread 此查询按处理顺序显示准备完成的对象。

Finalizer Thread 此查询显示执行对象终结的守护进程线程。

Finalizer Thread Locals 此查询显示执行对象终结的守护进程线程的线程局部变量。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/776640.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号