LoginSignup
1
0

More than 1 year has passed since last update.

eclipseでJDK Mission Control(jmcプラグインを導入)を利用してみる

Last updated at Posted at 2021-08-08

目的

Javaのパフォーマンスチューニングを目的とし、以下ツールを利用して計測したデータを元にボトルネックとなる箇所の分析を行えるようにするため、実施した手順を残しておきます。
今回はeclipseから実施できることを主目的としています。
(eclipse以外での実行、プロファイリングレポートの分析等についてはまた余力を見て記事にできたら、と思います)

  • JMC(JDK Mission Control)
  • JFR(JDK Flight Recorder)

記載範囲

本記事ではeclipseで「Mission Control」の使ってみるため、プラグインとして導入してプロファイリングレポートを確認するところまでを記載します。

前提条件

  • エディション:Windows10 Pro
  • eclipseバージョン:Version: 2021-06 (4.20.0)
  • JDK Mission Control Plug-ins for Eclipse:バージョン8.0.1

プロファイリングツール

JDK11より以前では、JDK Mission Control(以降JMC)は商用利用目的ではライセンスが必要でしたが、JDK11以降はJava Flight Recorder、Java Mission Controlがオープンソース化されています。
(JMCの方が使いやすく、情報量も多そうだったので今回はJMCを使ってみる事にしました)
その他にはVisualVM等、利用できるツールはあるようです。

eclipseプラグインにjmcを導入

  1. eclipse上で「ヘルプ」→「新規ソフトウェアのインストール」を開き、作業対象に以下URL(https://download.oracle.com/technology/products/missioncontrol/updatesites/openjdk/8.0.1/ide/)をコピペする。
  2. Mission Controlにチェックを入れ、「次へ」ボタンを押下する。 eclipse_plugins_jmc_install.PNG
  3. ライセンスのレビュー画面にて、「使用条件の条項に同意します」を選択し、「完了」ボタンを押下する。 eclipse_plugins_jmc_license.PNG

Mission Control画面を開く

  1. eclipseから「パースペクティブを開く」を選択し、「Mission Control」を開く。 eclipse_jmcパースペクティブを開く.PNG

eclipseからFlight Recorderを起動し、プロファイリングを開始

  1. Flight Recorderを右クリックし、「Start Flight Recording」を選択する。 eclipse_plugins_jmc_start.PNG
  2. Time fixed Recordingの「Recording time:」に記録したい時間(例:60分なら、60 min)を指定して「完了」ボタンを押下する。 eclipse_Start Flight Recording.PNG
  3. パフォーマンスを計測したいJavaプログラムを実行します。

プロファイリングデータを確認

  1. eclipse上からMission Controlプロジェクト(開いているworkspace内に作成されている)を開く。 eclipse_Mission Controlプロジェクト.PNG
  2. 「.jfr」ファイルが作成されているので開く。 eclipse_jfrレポート.PNG
  3. eclipseのアウトラインから、「環境」→「プロセス」を開いてみる。 eclipse_jfr_sample.PNG

次回の予定

サンプルJavaを実行し、Flight Recorderで出力したレポート結果を分析できたら良いな、と思っています。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0