VisualVM 是随 JDK 一同发布的 jvm 诊断工具,通过插件可以扩展很多功能,插件扩展也是其精华所在。
提供了一个可视界面,用于在 Java 应用程序在 Java 虚拟机上运行时查看有关 Java 应用程序的详细信息。此信息可用于对本地和远程应用程序进行故障排除以及对本地应用程序进行性能分析。
使用 Java VisualVM,可以生成和分析堆转储,跟踪内存泄漏,执行和监视垃圾回收以及执行轻量级内存和 CPU 性能分析。该工具对于调整,堆大小,脱机分析和事后诊断也很有用。
使用方法
- 启动
cd <JDK_HOME>/bin jvisualvm
- 选择监控进程
当然监控支持远程 JMX 监控和远程主机监控
- 监控视图:监控 cpu、堆、类加载、线程数
- 线程监控:死锁诊断等
cpu 和内存取样分析:cpu 线程占用分析、内存占用分析等
GC 监控插件
插件推荐
Visual GC
将可视垃圾收集监视工具集成到 VisualVM 中。Visual GC 附加到应用程序,并收集并以图形方式显示垃圾收集,类加载器和 HotSpot 编译器性能数VisualVM MBeans
MBeans 浏览器插件提供的功能类似于 JConsole 中的 MBeans 浏览器:显示应用程序的 MBean,显示值,操作和通知。在 VisualVM 中,浏览器得到了进一步的改进,以提供更好的可用性并支持最新的 JMX 功能VisualVM Extensions
该模块的目的是添加对在发布 VisualVM 时 VisualVM 核心模块不支持的其他功能(例如新的 JDK,JVM,HotSpot 版本...)的支持Tracer
用于详细监视和分析 Java 应用程序的框架和 GUI。跟踪器使用各种探针,从应用程序收集指标并在时间轴中显示数据。数据以图形方式和表格形式显示,并可以导出为通用格式,以供外部工具进行进一步处理JConsole
支持在 VisualVM 中使用现有的 JConsole 插件(如 JTop)Threads Inspector
线程检查器在 “线程” 选项卡上添加了一个新部分,其中显示了选定活动线程的堆栈跟踪。
扫一扫,关注我