本文介绍如何使用 JDK 飞行记录器和 JDK 任务控制来监视和管理 Java 工作负载。
2018 年,Oracle 将 Mission Control 开源,并作为 OpenJDK 项目的一部分进行管理。 任务控制与飞行记录器结合,为 Java 工作负载提供低开销、交互式监视和管理功能。
安装 JDK 任务控制并连接到 JVM
按照以下步骤安装 JDK 任务控制、连接到 Java 虚拟机(JVM),并实时了解正在运行的应用程序的各个方面。
确保已安装 JDK。
从 GitHub 上的 OpenJDK JMC 项目中获取 JDK 的 Mission Control 二进制文件。 然后,为系统选择适当的版本,将其保存在本地,然后更改为该目录。
展开下载的文件。 以下示例适用于 Azul Zulu Mission Control。
Linux:
tar -xzvf zmc8.0.0.17-ca-linux_x64.tar.gz
Windows:
unzip -zxvf zmc8.0.0.17-ca-win_x64.zip
macOS:
tar -xzvf zmc8.0.0.17-ca-macos_x64.tar.gz
使用一个兼容的 JDK 启动 Java 应用程序。 例如:
$JAVA_HOME/bin/java -jar MyApplication.jar
启动 Zulu Mission Control
Linux:
zmc8.0.0.17-ca-linux_x64/zmc
Windows:
zmc8.0.0.17-ca-win_x64\zmc.exe
macOS:
zmc8.0.0.17-ca-macos_x64/Zulu\ Mission\ Control.app/Contents/MacOS/zmc
找到运行应用程序的 JVM。
在 Zulu 任务控制窗口的左上方窗格中,选择标记为 JVM 浏览器的选项卡。
为运行应用程序的 JVM 实例选择并展开左上角的列表项。
必要时启动飞行记录。
如果飞行记录器显示“无记录”,请开始记录。 若要开始录制,请在 JVM 浏览器选项卡中右键单击“飞行记录器”行,然后选择“开始飞行录制”。
选择固定时长录制或连续录制,并选择性能分析配置(精细化)或连续配置(开销较低),然后选择 完成。
转储飞行记录。
JVM 浏览器中,“飞行记录”应显示在“飞行记录器”一行下方。 右键单击表示飞行录制的行,然后选择 导出整个录制。
Zulu Mission Control 窗口右侧的大窗格中将显示一个新选项卡。 此窗格表示刚从运行应用程序的 JVM 转储的飞行记录。
使用 Zulu 任务控制检查飞行记录
- 如果尚未激活,请选择 Zulu 任务控制窗口左窗格中标记为“ 大纲 ”的选项卡。 此选项卡包含在飞行记录中收集的数据的不同视图。
资源
Azul Systems 提供了一段由 Azul Systems 副首席技术官 Simon Ritter 配音的 演示视频。 该视频将引导你完成飞行记录器和 Zulu 任务控制的配置和设置。 Flight Recorder 讨论在 31:30 开始。