Java Mission Control (JMC)は、HotSpot JVM用の新しいJDKプロファイリングおよび診断ツール・プラットフォームです。基本的なモニタリングと管理、および本番稼働時のプロファイリングと診断を行う高性能なツール・スイートです。Java Mission Controlは、プロファイリング・ツールにつきもののパフォーマンス・オーバーヘッドの問題を最小限に抑えます。このツールはJVMに組み込まれた商用機能であり、実行時に使用できます。
Java Flight Recorder (JFR)は商用機能です。開発者のデスクトップ/ラップトップ上では無償で、また評価目的であればテスト環境、開発環境および本番環境で使用できます。ただし、JFRを本番サーバーで有効にする場合は、商用ライセンスが必要です。それ以外の目的でJMC UIをJDK上で使用する場合、商用ライセンスは必要ありません。
Java Mission Control (JMC)は、Java管理コンソール(JMX)とJava Flight Recorder (JFR)の他、ツールからダウンロード可能ないくつかのプラグインで構成されます。JMXはJavaアプリケーションのモニタリングおよび管理用ツールで、JFRはプロファイリング・ツールです。Java Mission Controlは、Eclipse IDE用のプラグインのセットとしても使用可能です。
次のトピックでは、Java Mission Controlでトラブルシューティングを行う方法を説明します。
Java Mission Controlでは次のトラブルシューティング・アクティビティを実行できます。
Java管理コンソール(JMX)が実行中のJVMに接続し、主な特性をリアルタイムに収集して表示します。
JVMのユーザー指定のカスタム・アクションとルールのトリガーを設定します(JDK 8が必要)。
試験的プラグイン(WLS
、DTrace
、JOverflow
および他のJMCツールのプラグイン)でトラブルシューティング・アクティビティを実行します。
DTrace
プラグインはDScript
言語を拡張したもので、自己記述型のイベントを生成します。フライト・レコーダのように可視化できます。
JOverflow
はヒープの未使用領域(空/疎コレクション)を分析するためのもう1つのプラグイン・ツールで、hprof
ダンプを使用します。JOverflow
プラグインの使用を最適化するには、JDK 8リリースの使用をお薦めします。
Java Mission ControlのJavaフライト記録(JFR)はイベントの分析に使用できます。事前構成済のタブを使用すると、コード、メモリーとGC、スレッドとIOといったよく使用される様々な領域で簡単にドリルダウンできます。一般イベント・タブと操作イベント・タブを組み合せて使用することで、特定のプロパティのイベント・セットを詳細にドリルダウンし、手早く焦点を絞ることができます。通常、「イベント」タブにはチェック・ボックスがあり、「操作セット」内のイベントのみが表示されます。
JFRをJMCクライアント用のプラグインとして使用すると、論理的にグループ化された表、グラフおよびダイアルに診断情報が表示されます。これを使用すると、問題に焦点を当てるために必要となる期間および詳細レベルを選択できます。JFRの詳細は、Java Flight Recorderを参照してください。
Java Mission Controlプラグインは、Java Management Extensions (JMX)エージェントを使用してJVMに接続します。JMXは、アプリケーション、デバイス、サービス、Java仮想マシンなどのリソースを管理およびモニタリングするための標準APIです。JMXの詳細は、Java Management Extensionsを参照してください。
JMCの詳細は、JMCドキュメントを参照してください。