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,这里包含具体的代码调用情况,如代码类,代码行数。

相关推荐
crud几秒前
Spring Boot 3 整合 Swagger:打造现代化 API 文档系统(附完整代码 + 高级配置 + 最佳实践)
java·spring boot·swagger
天天摸鱼的java工程师6 分钟前
从被测试小姐姐追着怼到运维小哥点赞:我在项目管理系统的 MySQL 优化实战
java·后端·mysql
周某某~17 分钟前
四.抽象工厂模式
java·设计模式·抽象工厂模式
异常君1 小时前
高并发数据写入场景下 MySQL 的性能瓶颈与替代方案
java·mysql·性能优化
烙印6011 小时前
MyBatis原理剖析(二)
java·数据库·mybatis
你是狒狒吗1 小时前
TM中,return new TransactionManagerImpl(raf, fc);为什么返回是new了一个新的实例
java·开发语言·数据库
勤奋的知更鸟1 小时前
Java编程之组合模式
java·开发语言·设计模式·组合模式
千|寻1 小时前
【画江湖】langchain4j - Java1.8下spring boot集成ollama调用本地大模型之问道系列(第一问)
java·spring boot·后端·langchain
爱编程的喵1 小时前
深入理解JavaScript原型机制:从Java到JS的面向对象编程之路
java·前端·javascript
on the way 1231 小时前
行为型设计模式之Mediator(中介者)
java·设计模式·中介者模式