Java监控工具—1、VisualVM

概述

VisualVM是在GitHub上发布的一个独立的工具,并且作为GraalVM的一个可选的组件。独立的工具运行在一些兼容的JDK上,绑定的工具被配置为运行使用主机GraalVM。

VisualVM还在Oracle的JDK6-8的版本中,作为JVM的一部分进行发布。在Oracle的JDK9中停止发布。

当应用程序在Java虚拟上运行时,VisualVM提供详细的关于应用程序的信息。VisualVM以图形化的用户接口使你快速、轻松的看到多个应用程序的相关信息。

下载与运行

如果你使用的是JDK是9以上,那么VisualVM就是独立存在的。我们可以官方网站下载相关的安装包。下载地址如下:

https://visualvm.github.io/index.html

安装后直接解压,运行visualVM的时候,需要使用命令行进行,因为它并不对当前主机下的JAVA_HOME的环境变量进行感知,需要设置JDK的相关目录,命令如下:

# Windows下
cd D:\develop\soft\visualvm_214\visualvm_214\bin
./visualvm.exe --jdkhome "D:\develop\soft\jdk-16" --userdir "D:\develop\Monitoring\visualVM"

插件管理

VisualVM默认的情况下,只有一些简单的线程、内存监控等基础功能,而对于其他的类似于MBean的支持都需要插件的支持。安装插件也很简单,菜单Tools -> Plugins -> Available Plugins。

  • VisualVM Extensions:对附加功能的支持(如新的JDK、JVM、HotSpot版本等),这些功能在VisualVM发布时其核心模块默认不支持。
  • BTrace Workbench:一个用于Java平台的安全的、动态的跟踪工具。BTrace可以用于动态的跟踪一个运行中的Java程序(类似于DTrace,跟踪OpenSolaris应用程序和操作系统)。BTrace动态的实现化目标应用程序的类并且注入跟踪代码(字节码跟踪)。
  • VisualVM-Security:在VisualVM中的SSL/TLS连接中,用于设置keystore(密钥库)、truststore(证书库)、协议和密码的图形界面。相当于设置适当的系统参数javax.net.ssl.*和javax.rmi.ssl.client.*。
  • Threads Inspector:能够分析线程tab页中的一个或多个线程的堆栈跟踪。
  • Startup Profiler:能够以仪表化的方式分析本地应用程序启动过程。有助于分析短时间运行的应用程序。
  • VisualVM-JFR Streaming:支持与JDK17及以上版本绑定的JFR流的支持(必须在JDK17及以上版本上运行visualVM)。
  • VisualVM-BufferMonitor:这个插件可以监控通过ByteBuffer.allocateDirect创建的直接缓冲区,以及通过FileChannel映射构建的映射缓冲区。
  • VisualVM-TDA_Module:即Thread Dump Analyzer,线程转存分析。
  • KillApplication:快速杀死本地运行的Java应用程序。
  • VisualVM-Coherence:这个插件提供了一个图形用户界面,以及允许开发者查看运行中的Coherence集群。
  • Tracer-Monitor Probes:提供与Monitor的tab页相同指标的跟踪探测器的集合。
  • Tracer-Collections Probes:用于监控Java集合框架的跟踪探测器。
  • Tracer-JavaFX Probes:提供多种指标用于监控JavaFX应用程序的运行时行为。
  • Tracer-IO Probes:监控Java I/O调用的跟踪探测器。
  • Tracer-Swing Probes:监控Swing和AWT框架的跟踪探测器。
  • Tracer-Jvmstat Probes:新增的Jvmstat计数器。
  • Tracer-JVM probes:监控JVM内部构件:JIT编译器、GC、NIO缓冲区以及Java I/O。
  • OQL Syntax Support:提供语法高亮、符号匹配以及简单的代码补全。
  • Visual GC:集成Visual GC工具到VisualVM中。可视化GC用户界面用于展示每一个本地或远程应用程序,通过由Jvmstat API提供的性能计数器。
  • VisualVM-MBeans:集成JConsole的MBeans的Tab页中的功能到VisualVM中。

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注