Eclipse MAT(Memory Analyzer Tool) 使用手册

参考:JAVA内存泄露使用MAT(Memory Analyzer Tool)快速定位代码

Eclipse MAT 1.15.0提示JDK版本最低需要使用17版本的,如果不想安装可以下载ZIP包,或者使用较低版本的MAT。

为了避免下载的17版本JDK和本地环境干扰,可以直接在MAT配置文件MemoryAnalyzer.ini中添加参数即可

java 复制代码
-vm
D:\software\jdk-17.0.13\bin\javaw.exe
-startup
plugins/org.eclipse.equinox.launcher_1.6.600.v20231106-1826.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.800.v20231003-1442
-vmargs
--add-exports=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED
-Xmx6g
-XX:-UseGCOverheadLimit

选择Leak Suspects Report后,会弹出报告层default_report,直接查看推测的StackTrace即可

或者点击Leak Suspects也可以弹出界面。

常用的就是Histogram,Dominator_Tree

Merge Shortest Path to GC Roots -> with all references

然后选择希望查看的对象

Java Basics -> Thread Details

就可以查看到对应的ThreadStacks,这里包含具体的代码调用情况,如代码类,代码行数。

相关推荐
李少兄10 分钟前
领域驱动设计与 Clean Code 的实践
java·数据库·领域驱动
老马952733 分钟前
opencode7-桌面应用实战2
java·人工智能·后端
李白的天不白42 分钟前
大规模请求数据并发问题
java·前端·数据库
智慧物业老杨1 小时前
智慧物业数智化转型实战:从工单响应到业主满意度的闭环构建
java·开发语言
Kiling_07041 小时前
Java集合框架:List集合详解与应用
java·开发语言·windows
shimly1234561 小时前
vscode 很难删除 copilot,如何关闭 copilot 功能?
ide·vscode·copilot
极客先躯1 小时前
高级java每日一道面试题-2025年12月08日-实战篇[Docker]-如何为 Docker 配置代理?如何为容器配置代理?
java·docker·代理配置的双层架构·docker 守护进程配置代理·为容器配置代理·构建时环境变量·运行时注入环境变量
csdn2015_2 小时前
java springboot 文件导入,判断第一列的值是否有重复
java·windows·spring boot
~|Bernard|2 小时前
四,go语言中GMP调度模型
java·前端·golang
Tisfy2 小时前
LeetCode 2553.分割数组中数字的数位:模拟(maybe+翻转)——java也O(1)
java·数学·算法·leetcode·题解·模拟·取模