この記事では、JDK Flight Recorder と JDK Mission Control を使用して Java ワークロードを監視および管理する方法について説明します。
Oracle は 2018 年にオープンソースの Mission Control を提供し、OpenJDK 傘下のプロジェクトとして管理されています。 Mission Control は、Flight Recorder と組み合わせて、Java ワークロード用の低オーバーヘッドの対話型の監視および管理機能を提供します。
JDK Mission Control をインストールして JVM に接続する
JDK Mission Control をインストールし、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
ウィンドウズ:
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
ウィンドウズ:
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 Mission Control ウィンドウの左上のペインで、 JVM Browser というラベルの付いたタブを選択します。
アプリケーションを実行している JVM インスタンスの左上にあるリスト項目を選択して展開します。
必要に応じて、フライト記録を開始します。
フライト レコーダーに "No Recordings" と表示されている場合は、1 つを開始します。 記録を開始するには、[JVMブラウザ]タブのフライトレコーダーラインを右クリックし、[ フライト記録の開始]を選択します。
一定の期間の記録または継続的な記録のいずれかを選択し、プロファイリング構成 (詳細) または継続的構成 (オーバーヘッドが低い) のいずれかを選択し、[ 完了] を選択します。
Flight Recording をダンプします。
JVM ブラウザーのフライト レコーダー行の下にフライト記録が表示されます。 フライト記録を表す行を右クリックし、[ 記録全体をダンプ] を選択します。
Zulu Mission Control ウィンドウの右側の大きなウィンドウに新しいタブが表示されます。 このウィンドウは、アプリケーションを実行している JVM からダンプされたフライト記録を表します。
ズルミッションコントロールを使用してフライト記録を調べる
- まだアクティブ化されていない場合は、Zulu Mission Control ウィンドウの左側のウィンドウで [ アウトライン ] というラベルの付いたタブを選択します。 このタブには、フライト記録で収集されたデータのさまざまなビューが含まれています。
リソース
Azul Systems は、Azul Systems Deputy CTO Simon Ritter によってナレーションされた デモンストレーション ビデオ を提供します。 ビデオでは、フライト レコーダーと Zulu ミッション コントロールの両方の構成と設定について説明します。 フライト レコーダーのディスカッションは 31:30 から始まります。