常见内存分析工具对比
下图中 Y 表示支持,N 表示不支持,时间截至发稿前。
| 产品功能 | MAT | JProfiler | Visual VM | jhat | jmap | hprof |
|---|---|---|---|---|---|---|
| 对象关联分析、深浅堆、GC ROOT、内存泄漏检测、线程分析、提供自定义程序扩展扩展 | Y | N | N | N | N | N |
| 离线全局分析 | Y | N | Y | Y | N | N |
| 内存实时分配情况 | N | Y | Y | Y | Y | Y |
| OQL | Y | N | Y | N | N | N |
| 内存分配堆栈、热点比例 | N | Y | N | N | N | N |
| 堆外内存分析 | N | N | N | N | N | N |
注 1:Dump 文件包含快照被转储时刻的 Java 对象 在堆内存中的分布情况,但快照只是瞬间的记录,所以不包含对象在何时、在哪个方法中被分配这类信息。
注 2:一般堆外内存溢出排查可结合 gperftools 与 btrace 排查,此类文章较多不展开介绍。
JVM 内存分析工具 MAT 的深度讲解与实践——入门篇
https://juejin.cn/post/6908665391136899079
本文对比了MAT、JProfiler、VisualVM、jhat、jmap和hprof等JVM内存分析工具的功能特性,包括对象关联分析、内存泄漏检测等,并深入解析MAT的入门与进阶使用。此外,还介绍了堆外内存分析和离线全局分析等关键点,适合开发者进行内存优化和问题排查。
1万+

被折叠的 条评论
为什么被折叠?



