診断ガイド

     前  次    目次     
コンテンツの開始位置

Oracle JRockit Mission Control ツールの使用

Oracle JRockit Mission Control に含まれるツール セットは、Java アプリケーションのモニタ、管理、プロファイリング、発生した問題の理解を行うように設計されており、この種のツールにつきもののパフォーマンス オーバーヘッドを発生させません。

この章ではこれらの各バージョンの JRockit Mission Control に関する概要を説明します。これらのバージョンの詳細については、「JRockit Mission Control のバージョンに関する詳細」を参照してください。

この章には、以下に関する情報があります。

 


JRockit Mission Control のオーバーヘッド

JRockit Mission Control のパフォーマンス オーバーヘッドが低いのは、Oracle JRockit JVM の通常の適応性のある動的な最適化の一部として収集されるデータを使用するためです。これにより、バイト コード インスツルメンテーションを使用するツールがシステムの実行特性を変えるときに発生する可能性のある Heisenberg 異常の問題も解消されます。JRockit Mission Control の機能は必要に応じて常に利用可能で、ツールの実行中にのみわずかなパフォーマンス オーバーヘッドが発生します。

 


JRockit Mission Control Client のアーキテクチャの概要

この節では JRockit Mission Control のすべてのバージョンについて、アーキテクチャの概要を説明します。

JRockit Mission Control 3.0

Rich Client Platform (RCP) ベースの JRockit Mission Control Client を使用すると、Memory Leak Detector、JRockit Runtime Analyzer、JRockit Management Console を JRockit Mission Control Client 内から起動することができます。図 18-3 に、すべてのツールをロードした場合の JRockit Mission Control Client の外観を示します。

図 18-1 JRockit Mission Control 3 Client のアーキテクチャの概要

JRockit Mission Control 3 Client のアーキテクチャの概要

JRockit Mission Control Client から JRA 記録を開始すると、指定した期間にわたって JRockit JVM プロセスの状態が記録され、記録データの入った XML ファイル (さらに、必要に応じて、レイテンシ データの入ったバイナリ ファイルとそれに対応するデータ プロデューサ仕様ファイル) を含んだ ZIP ファイルが作成されます。記録が終了すると、JDK レベル 1.5 以上の場合、ZIP ファイルは自動的に JRockit Runtime Analyzer (図 18-3 の「5」) で開きます。JDK 1.4.2 の場合は、記録された JVM が動作していたコンピュータにローカルに格納されます。JRA の記録で記録される一般的な情報として、Java ヒープの分散状況、ガベージ コレクション、メソッドのサンプル、およびロック プロファイリングの情報があります (省略可能)。JRockit Mission Control 3.0 リリースで新た追加したものとして、スレッドのレイテンシ データを記録できるようになりました。JRA ツールでレイテンシ データを表示するときに、レイテンシ イベントの詳細が表示されるようになりました (図 18-3 の「2」)。

アプリケーションや JRockit JVM のリアルタイムの動作を確認するために、JVM のインスタンスに接続して、JRockit Management Console からリアルタイムの情報を表示できます (図 18-3 の「4」)。表示できる一般的な情報としては、スレッドの使用状況、CPU の使用状況、メモリの使用状況があります。すべてのグラフはコンフィグレーション可能であり、独自の属性を追加したり、それぞれのラベルを再定義したりできます。Management Console では、たとえば、CPU の負荷が 90% に達した場合に電子メールを送信するなど、特定のイベントをトリガするルールを作成することもできます。

JMX エージェントを介して、プラットフォーム MBean サーバにデプロイされたすべての MBean にアクセスできます。これらの MBean からは、ガベージ コレクション期間などの属性情報を読み込むことができます。

Java アプリケーションのメモリ リークを見つけるには、実行中の JRockit JVM プロセスに JRockit Memory Leak Detector を接続します。JRockit Memory Leak Detector は JMX (RMP) エージェントに接続し、JMX エージェントが Memory Leak サーバの起動を指示します。それ以降の通信はすべてこのサーバとの間で行われます。

JRockit Mission Control 2.0

Rich Client Platform (RCP) ベースの新しい JRockit Mission Control Client を使用すると、JRockit Memory Leak Detector、JRockit Runtime Analyzer、JRockit Management Console を JRockit Mission Control Client 内から起動することができます (図 18-2 を参照)。

図 18-2 JRockit Mission Control 2.0 Client のアーキテクチャの概要

JRockit Mission Control 2.0 Client のアーキテクチャの概要

JMX エージェントを介して、プラットフォーム MBean サーバにデプロイされたすべての MBean にアクセスできます。これらの MBean からは、ガベージ コレクション期間などの属性情報を読み込むことができます。

JRockit Mission Control Client から JRA の記録を開始すると、指定した時間にわたって JRockit JVM プロセスの状態が記録され、XML ファイルが作成されます。このファイルは JRockit Runtime Analyzer で自動的に開きます。JRA の記録で記録される一般的な情報として、Java ヒープの分散状況、ガベージ コレクション、メソッドの最適化、およびメソッド プロファイリングの情報があります。

Java アプリケーションのメモリ リークを見つけるには、実行中の JRockit JVM プロセスに JRockit Memory Leak Detector を接続します。Memory Leak Detector は JMX (RMP) エージェントに接続し、JMX エージェントが Memory Leak サーバの起動を指示します。それ以降の通信はすべてこのサーバとの間で行われます。

JRockit Mission Control 1.0

JRockit Mission Control 1.0 は、JRockit JDK 1.4.2 (R26.2 以降) および JRockit JDK 5.0 (R26.0 以降) で使用できます (図 18-3 を参照)。両者の違いは、JRockit Management Console で使われる接続エージェントと JRockit Management Console のユーザ インタフェースです。

RMP エージェント (JRockit JDK 1.4.2) には、メモリや CPU の使用状況に関する実データを取得するなどの機能があります。JMX エージェント (JRockit JDK 5.0 で使用可能) が追加されることにより、プラットフォーム MBean サーバで使用可能な MBean にもアクセスできます。これらの MBean からは、ガベージ コレクションによる休止時間などの属性情報を読み込むことができます。

たとえば、Management Console から JRA の記録を開始すると、指定した時間にわたって JRockit JVM プロセスの状態が記録されます。記録が終了すると、情報は XML ファイルに保存されます。この XML ファイルを JRockit Runtime Analyzer で表示および分析することができます。JRA の記録で記録される一般的な情報として、Java ヒープの分散状況、ガベージ コレクション、メソッドの最適化があります。

Java アプリケーションのメモリ リークを見つけるには、実行中の JRockit JVM プロセスに JRockit Memory Leak Detector を接続します。Memory Leak Detector は JMX (RMP) エージェントに接続し、JMX エージェントが Memory Leak サーバの起動を指示します。それ以降の通信はすべてこのサーバとの間で行われます。

図 18-3 JRockit Mission Control 1.0 のアーキテクチャの概要

JRockit Mission Control 1.0 のアーキテクチャの概要

JRockit ブラウザ (JRockit Mission Control 2.0 以降)

JRockit ブラウザは JRockit Mission Control 2.0 以降のバージョンでのみ使用できます。このツールでは、システムで実行しているすべての JRockit JVM インスタンスを設定および管理することができます。JRockit ブラウザから、記録のアクティブ化、さまざまな JRockit JVM インスタンスをモニタするツリー ビューの設定、その他の JRockit Mission Control ツールの起動などを行います。各 JRockit JVM インスタンスは「コネクタ」と呼ばれます。

 


JRockit Management Console

JRockit Management Console は、複数 (または 1 つ) の JRockit JVM インスタンスのモニタおよび管理に使用します。このツールを使って、メモリ、CPU 使用状況、その他の実行時メトリックに関する実データを取得し、表示できます。JRockit JDK 5.0 で実行している Management Console には、JRockit JVM 内部 MBean サーバにデプロイされた JMX MBean (図 18-3 の JMX エージェント) に含まれる情報も表示されます。JVM の管理には、CPU アフィニティ、ガベージ コレクション方式、メモリ プールのサイズなどに対する動的な制御が含まれます。

 


JRockit Runtime Analyzer

JRockit Runtime Analyzer (JRA) は、オンデマンドの「フライト レコーダ」として、JVM および JVM が実行しているアプリケーションに関する詳細な記録を生成します。記録されたプロファイルは、後から JRA を使ってオフラインで分析することができます。記録されるデータには、メソッドとロックのプロファイリングのほかに、ガベージ コレクションの統計、最適化の判断、レイテンシ分析 (JRockit Mission Control 3.0) などがあります。

Latency Analysis Tool (JRockit Mission Control 3.0)

Latency Analysis Tool は、JRA の JRockit Mission Control 3.0 バージョンにおけるサブセットです。これを使用すると、アプリケーションのレンテンシ情報を含む JRA 記録を作成できます。レイテンシ イベントは、スレッドが一時的に停止した場合に発生します。たとえば、同期されたメソッドにスレッドが入るのを待機するとき、またはソケットからのデータを待機する場合などです。JRA には、さまざまな観点からレイテンシ データを表示する 3 つのタブが追加されました。これらのタブの名前は [レイテンシ ログ]、[レイテンシ グラフ]、[レイテンシ トレース] のように「レイテンシ」で始まります。この 3 つのタブと、2 つの補助的なタブを併用することで、レイテンシ タブ上でイベント タイプのアクティブ化と非アクティブ化を行い、プロパティを表示できます。

JRA 記録のサンプル

JRockit JVM R27.5 および JRockit Mission Control 3.0.2 を使用して開始すると、Latency Analysis Tool の機能を示す 3 つのサンプルの JRA 記録にアクセスできます。ファイルは JROCKIT_HOME/missioncontrol/samples/jrarecordings/ にあります。これらについて、以下で説明します。

サンプルの記録を開く

次に示すように、サンプルは、JRockit Mission Control Client 内から開くか、またはファイル システムから直接開くことができます。

サンプルの記録を JRockit Mission Control Client 内から開くには

JRockit Mission Control Client を実行している状態で、以下を実行します。

  1. [ファイル] メニューを開き、[ファイルを開く...] を選択します。
  2. [ファイルを開く] ダイアログ ボックスが表示され、JROCKIT_HOME/missioncontrol/samples/jrarecordings/ フォルダ (デフォルトのフォルダ) が示されます。

  3. 目的のサンプルの記録を選択し、[開く] をクリックします。
  4. 記録が開きます。

サンプルの記録をファイル システムから開くには

JRockit Mission Control Client を実行していて、ファイル システム (Windows Explorer など) が開いている状態で、以下を実行します。

  1. ファイル システムで、JROCKIT_HOME/missioncontrol/samples/jrarecordings/ に移動し、目的の記録を選択します。
  2. 記録を、ファイル システムから直接 JRockit Mission Control Client にドラッグします。
  3. 記録が開きます。

 


JRockit Memory Leak Detector

JRockit Memory Leak Detector は、Java アプリケーションのメモリ リークを検出し、その原因を突き止めるためのツールです。JRockit Memory Leak Detector の傾向分析により、進行の遅いリークを発見します。Memory Leak Detector には詳細なヒープの統計 (リークしているオブジェクトを指し示すタイプとインスタンスを含む)、割り当てられている場所が表示され、メモリ リークの原因をすばやく絞り込むことができます。Memory Leak Detector では高度なグラフィカル表示手法が使われているため、時として複雑な情報をより簡単に操作し、把握することができます。

 


JRockit Mission Control のバージョンに関する詳細

JRockit Mission Control の使用に関する詳細は、それぞれのバージョンのドキュメントを参照してください。JRockit Mission Control 1.0、Mission Control 2.0、および Mission Control 3.0 ではデプロイメントの仕組みが異なるため、それぞれに固有のドキュメントが用意されています。


  ページの先頭       前  次