VisualVM - Java 应用运行监视与故障处理程序

VisualVM(All-in-One Java Troubleshooting Tool) 是随 JDK 发布的一款功能强大的运行监视和故障处理程序。除了运行监视、故障处理之外,它还提供了性能分析等其他功能。与其他功能相比,VisualVM 不需要被监视程序基于特殊的 Agent 运行,因此他对应用程序的实际性能影响很小,使得它可以直接应用在生产环境中。

VisualVM 使用插件扩展功能,通过插件支持,VisualVM 可以做到:

  1. 显示虚拟机进程以及进程的配置、环境信息(jps、jinfo)
  2. 监视应用程序的 CPU、GC、堆、方法区以及线程的信息(jstat、jstack)。
  3. dump 以及分析堆转储快照(jmap、jhat)。
  4. 方法级的程序运行性能分析,找出被调用最多、运行时间最长的方法。
  5. 离线程序快照:收集程序的运行时配置、线程 dump、内存 dump 等信息建立一个快照,可以将快照发送开发者处进行 Bug 反馈。
  6. 其他plugins的无限的可能性……

继续使用上篇文章中的测试程序 SimpleQueue.java,运行程序后我们打开 VisualVM 。

在监控面板中我们可以清晰的看到程序的 CPU、内存使用状况及线程状态,并且可以在菜单栏工具-插件安装使用其他插件。

文章摘自《深入理解Java虚拟机》第二版 周志明著,仅作为学习记录,书籍中用到的案例代码及描述有部分修改,但未改变原意。