Java Flight Recorder (JFR) と Zulu Mission Control を使用して Java ワークロードを監視および管理するMonitor and manage Java workloads with Java Flight Recorder (JFR) and Zulu Mission Control

この記事では、Java Flight Recorder (JFR) と Zulu Mission Control を使用して Java ワークロードを監視および管理する方法について説明します。This articles shows you how to monitor and manage Java workloads with Java Flight Recorder (JFR) and Zulu Mission Control.

Zulu Mission Control は、JDK Mission Control の完全にテスト済みのビルドであり、2018 年に Oracle によりオープンソース化され、OpenJDK Umbrella の下でプロジェクトとして管理されています。Zulu Mission Control is a fully-tested build of JDK Mission Control, which was open sourced by Oracle in 2018 and is managed as a project under the OpenJDK umbrella. Mission Control は、Flight Recorder と組み合わせることで、Java ワークロードに対するオーバーヘッドの低い対話型の監視と管理の機能を提供します。Coupled with Flight Recorder, Mission Control delivers low-overhead, interactive monitoring and management capabilities for Java workloads.

Zulu Mission Control は、次の JDK/JRE と互換性があります。Zulu Mission Control is compatible with the following JDKs/JREs:

  • Zulu 12.1 以降Zulu 12.1 and later
  • Zulu 11.0 以降Zulu 11.0 and later
  • Zulu 8u202 (8.36) 以降Zulu 8u202 (8.36) and later
  • Oracle OpenJDK 11+15 以降Oracle OpenJDK 11+15 and later
  • Oracle Java 11.0 以降Oracle Java 11.0 and later
  • Oracle Java 8.0 以降Oracle Java 8.0 and later

Zulu Mission Control をインストールし、Java 仮想マシン (JVM) に接続し、実行中のアプリケーションのすべての側面をリアルタイムに把握するのには、次の手順に従います。Follow the steps below to install Zulu Mission Control, connect to a Java Virtual Machine (JVM), and gain real-time visibility into all aspects of a running application.

  1. Zulu Mission Control と互換性のある JDK/JRE をインストールしますInstall a Zulu Mission Control compatible JDK/JRE.

  2. Azul ダウンロード サイトから Zulu Mission Control をダウンロードします。ご使用のシステム用の適切なバージョンを選択し、ローカルに保存してそのディレクトリに移動します。Download Zulu Mission Control from the Azul download site, choose the appropriate version for your system, save it locally, and change to that directory.

  3. ダウンロードしたファイルを展開します。Expand the downloaded file.

    Linux:Linux:

    tar -xzvf zmc7.0.0-EA-linux_x64.tar.gz
    

    Windows:Windows:

    unzip -zxvf zmc7.0.0-EA-win_x64.zip 
    

    MacOS:MacOS:

    tar -xzvf zmc7.0.0-EA-macosx_x64.tar.gz
    
  4. 互換性のある JDK のいずれかを使用して Java アプリケーションを起動します。Start your Java application using one of the compatible JDKs. 例:E.g.:

    $JAVA_HOME/bin/java -jar MyApplication.jar
    
  5. Zulu Mission Control を開始しますStart Zulu Mission Control

    Linux:Linux:

    zmc7.0.0-EA-linux_x64/zmc
    

    Windows:Windows:

    zmc7.0.0-EA-win_x64\zmc.exe 
    

    MacOS:MacOS:

    zmc7.0.0-EA-macosx_x64/Zulu\ Mission\ Control.app/Contents/MacOS/zmc
    
  6. Mission Control の Java インストールを切り替えます (オプション)Switch the JVM installation for Mission Control (Optional)

    Windows では、zmc.exe はレジストリで構成されている既定の JVM インストールを使用します。On Windows, zmc.exe will use the default JVM installation configured in the registry. Zulu Mission Control は、ローカルの JVM インスタンスを自動的に検出することができるためには、完全な JDK から起動する必要があります。Zulu Mission Control must be launched from a full JDK to be able to detect local JVM instances automatically. これが JRE の場合、以下の警告が表示されます。If this is a JRE, you will see the warning below:

    JDK のインストールが JRE のみの場合の警告Warning if JDK install is JRE-only

    Mission Control によって使用される JVM を変更するには、次の手順を実行します。To change the JVM used by Mission Control, follow these steps:

    1. zmc.exe と同じディレクトリにある zmc.ini構成ファイルを開きます。Open zmc.ini configuration file, located in the same directory as the zmc.exe
    2. -vmargs の前に、2 つの行を追加します。Before the line -vmargs, add two lines:
      • 最初の行に、–vm と記述します。On the first line, write –vm
      • 2 行目に、JDK インストールへのパスを記述します。On the second line, write the path to your JDK installation. (例えば、C:\Program Files\Java\jdk1.8.0_212\bin\javaw.exe)。(For example, C:\Program Files\Java\jdk1.8.0_212\bin\javaw.exe).
  7. アプリケーションを実行している JVM を見つけますLocate the JVM running your application

    1. Zulu Mission Control ウィンドウの左上のウィンドウで、 [JVM Browser](JVM ブラウザー) というラベルのタブを選択します。In the upper left pane of the Zulu Mission Control window, select the tab labelled JVM Browser.
    2. 左上で、自分のアプリケーションを実行している JVM インスタンスのリスト アイテムを選択して展開します。Select and expand the list item in the upper left for your the JVM instance running your application.

    JVM インスタンスの左上のリスト アイテムを展開しますExpand the list item in the upper-left for your JVM instance

  8. Flight Recording を開始します (必要な場合)Start a Flight Recording, if necessary

    1. Flight Recorder に「No Recordings」と表示されている場合、[JVM Browser](JVM ブラウザー) タブの Flight Recorder の行を右クリックし、 [Start Flight Recording](Flight Recording の開始) を選択して開始します。If the Flight Recorder displays "No Recordings", start one by right-clicking on the Flight Recorder line in the JVM Browser tab and selecting Start Flight Recording.
    2. 固定期間の記録または継続的な記録のいずれかと、プロファイル構成 (詳細) または継続構成 (低オーバーヘッド) のいずれかを選択してから、 [Finish](終了) を選択します。Select either a fixed duration recording or a continuous recording, and either a Profiling configuration (fine-grained) or a Continuous configuration (lower overhead), then select Finish.

    Flight Recording の開始Start a Flight Recording

  9. Flight Recording のダンプDump the Flight Recording

    1. Flight Recording は、[JVM Browser](JVM ブラウザー) の Flight Recorder の行の下に表示されます。A Flight Recording should appear below the Flight Recorder line in the JVM Browser. Flight Recording を表す行を右クリックし、 [Dump whole recording](記録全体をダンプ) を選択します。Right-click on the line representing the Flight Recording and select Dump whole recording.
    2. Zulu Mission Control ウィンドウの右側にある大きなウィンドウに新しいタブが表示されます。A new tab will appear in the large pane on the right side of the Zulu Mission Control window. このウィンドウは、アプリケーションを実行して、JVM から今ダンプされた Flight Recording を表しています。This pane represents the Flight Recording just dumped from the JVM running your application.
  10. Zulu Mission Control を使用して Flight Recording を確認しますExamine the Flight Recording using Zulu Mission Control

    1. まだアクティブ化されていない場合、Zulu Mission Control ウィンドウの左側のウィンドウで [Outline](アウトライン) というラベルのタブを選択します。If not already activated, select the tab labelled Outline in the left pane of the Zulu Mission Control Window. このタブには、Flight Recording で収集されたデータのさまざまなビューが含まれています。This tab contains different views of the data collected in the Flight Recording.

    Flight Recording のレビューReview the Flight Recording

リソースResources

Azul Systems の Deputy CTO である Simon Ritter 氏のナレーションによるデモ動画も用意されています。We have also prepared a demonstration video narrated by Azul Systems Deputy CTO Simon Ritter. この動画では、Flight Recorder と Zulu Mission Control 両方の構成とセットアップについて説明します。The video walks you through the configuration and setup of both Flight Recorder and Zulu Mission Control. Flight Recorder の説明は 31 分 30 秒から始まります。The Flight Recorder discussion starts at 31:30.