vlambda博客
学习文章列表

性能测试之JVM的故障分析工具VisualVM

VisualVM 是随JDK一同发布的jvm诊断工具,通过插件可以扩展很多功能,插件扩展也是其精华所在。

提供了一个可视界面,用于在Java应用程序在Java虚拟机上运行时查看有关Java应用程序的详细信息。此信息可用于对本地和远程应用程序进行故障排除以及对本地应用程序进行性能分析。

使用Java VisualVM,可以生成和分析堆转储,跟踪内存泄漏,执行和监视垃圾回收以及执行轻量级内存和CPU性能分析。该工具对于调整,堆大小,脱机分析和事后诊断也很有用。

使用方法

  1. 启动

cd <JDK_HOME>/bin
jvisualvm
  1. 选择监控进程 

当然监控支持远程JMX监控和远程主机监控

  1. 监控视图:监控cpu、堆、类加载、线程数 性能测试之JVM的故障分析工具VisualVM

  2. 线程监控:死锁诊断等 性能测试之JVM的故障分析工具VisualVM

  3. cpu和内存取样分析:cpu线程占用分析、内存占用分析等 性能测试之JVM的故障分析工具VisualVM性能测试之JVM的故障分析工具VisualVM

  4. GC监控插件 性能测试之JVM的故障分析工具VisualVM

插件推荐

  • 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 
    线程检查器在“线程”选项卡上添加了一个新部分,其中显示了选定活动线程的堆栈跟踪。




扫一扫,关注我