使用 JDK 飞行记录器和任务控制监视和管理 Java 工作负载

本文介绍如何使用 JDK 飞行记录器和 JDK 任务控制来监视和管理 Java 工作负载。

2018 年,Oracle 将 Mission Control 开源,并作为 OpenJDK 项目的一部分进行管理。 任务控制与飞行记录器结合,为 Java 工作负载提供低开销、交互式监视和管理功能。

安装 JDK 任务控制并连接到 JVM

按照以下步骤安装 JDK 任务控制、连接到 Java 虚拟机(JVM),并实时了解正在运行的应用程序的各个方面。

  1. 确保已安装 JDK。

  2. GitHub 上的 OpenJDK JMC 项目中获取 JDK 的 Mission Control 二进制文件。 然后,为系统选择适当的版本,将其保存在本地,然后更改为该目录。

  3. 展开下载的文件。 以下示例适用于 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
    
  4. 使用一个兼容的 JDK 启动 Java 应用程序。 例如:

    $JAVA_HOME/bin/java -jar MyApplication.jar
    
  5. 启动 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
    
  6. 找到运行应用程序的 JVM。

    1. 在 Zulu 任务控制窗口的左上方窗格中,选择标记为 JVM 浏览器的选项卡。

    2. 为运行应用程序的 JVM 实例选择并展开左上角的列表项。

    展开左上角 JVM 实例的列表项

  7. 必要时启动飞行记录。

    1. 如果飞行记录器显示“无记录”,请开始记录。 若要开始录制,请在 JVM 浏览器选项卡中右键单击“飞行记录器”行,然后选择“开始飞行录制”。

    2. 选择固定时长录制或连续录制,并选择性能分析配置(精细化)或连续配置(开销较低),然后选择 完成

    开始飞行录制

  8. 转储飞行记录。

    1. JVM 浏览器中,“飞行记录”应显示在“飞行记录器”一行下方。 右键单击表示飞行录制的行,然后选择 导出整个录制

    2. Zulu Mission Control 窗口右侧的大窗格中将显示一个新选项卡。 此窗格表示刚从运行应用程序的 JVM 转储的飞行记录。

  9. 使用 Zulu 任务控制检查飞行记录

    1. 如果尚未激活,请选择 Zulu 任务控制窗口左窗格中标记为“ 大纲 ”的选项卡。 此选项卡包含在飞行记录中收集的数据的不同视图。

    查看飞行记录

资源

Azul Systems 提供了一段由 Azul Systems 副首席技术官 Simon Ritter 配音的 演示视频。 该视频将引导你完成飞行记录器和 Zulu 任务控制的配置和设置。 Flight Recorder 讨论在 31:30 开始。