この章では、Oracle JRockit Mission ControlとEclipse IDEの統合について説明し、JRockit Mission Control ClientとEclipseとの統合によって有効になる特別な機能の使用手順を示します。
ツール・セットは、スタンドアロンのリッチ・クライアント・プラットフォーム(RCP)バージョンのOracle JRockit Mission Control 4.0に加えて、Eclipse IDE (Eclipse 3.3またはそれ以降)のプラグインとしても使用できます。JRockit Mission Controlのこのバージョンでは、Eclipse開発プラットフォームとJRockit Mission Controlのアプリケーションのプロファイリングとモニターリングのツール・セットのシームレス統合が用意されています。JRockit Mission Control ClientをEclipseと統合することにより、Eclipseの機能をMission Controlの強力なツール・セットと組み合せることができます。
この章では、以下のトピックを取り上げます。
JRockit Mission Control ClientはEclipse IDE内で実行する場合、ツール・セットにあるIDE機能にアクセスできます。これらの機能は、スタンドアロンのリッチ・クライアント・プラットフォーム(RCP)アプリケーションで実行する場合利用不可です。これらの機能のうち最も重要な機能は、実行中のアプリケーションを開いてMission Controlから特定のコードを直接確認できることです。この機能は「ソースへ移動」と呼ばれます。
JRockit Mission Control ClientとEclipse IDEとの統合によるもう1つの明白な利点は、本番フェーズの場合と同じように、開発フェーズにおいてもアプリケーションのプロファイルとモニターが可能になることです。これにより、プロダクション環境にアプリケーションを実際にデプロイする前に実行時の潜在的な問題を見つけることが可能になります。たとえば、開発中のアプリケーションをモニターすることでメモリー・リークを見つけることがあります。開発中にメモリー・リークを発見できることにより、アプリケーションをプロダクション環境に移行する前にこれを修正できます。
一般に、EclipseバージョンのJRockit Mission Control Clientは、RCPバージョンと同じ様に動作します。Eclipseバージョンの任意のコンポーネントは、RCPバージョンと一緒に提供された比較可能なコンポーネントと同じ様な機能とユーザー・インタフェースが用意されます。
EclipseバージョンのJRockit Mission Control ClientとRCPバージョンの間の最も大きいな違いは、4.5「アプリケーション・ソースへのジャンプ」に説明したソースへ移動機能です。この機能を使用して、JRockit Mission Control Clientで表示される「Problem」クラス名またはメソッド名だけではなく、表示された名前からそのクラスまたはメソッドのソースに直接ジャンプすることができます。ここで、コードを評価して、問題の原因を検討することができます。ソースへ移動機能は、管理コンソール、JRockitフライト・レコーダ、およびメモリー・リーク・ディテクタで有効です。
JRockit Mission Controlは多くの種類のJava Virtual Machineで動作しますが、Eclipseプラットフォーム上でMission Controlを実行する場合、JVMとしてOracle JRockit JVMを使用することを強くお薦めします。このJVMを使用すると、JRockit JVMの優れたパフォーマンスを堪能できるばかりではなく、Mission Controlの自動検出機能が有効になるので、ローカルで実行しているアプリケーションにMission Controlを容易に接続することができます。
Eclipse (JRockit Mission Control Client)をJRockit JVMに実行するには
ファイル・システムのブラウザ(たとえばWindowsエクスプローラ)を起動します。
Eclipseのインストール・フォルダ(たとえば、C:\Program Files\Eclipse
)に移動し、メモ帳以外のファイル・エディタでファイルeclipse.ini
を開きます。このファイルの内容は、例4-1に示した例のようになっています。
eclipse.iniに対して次の変更を行います。
非Oracle JRockit JVM(たとえば、--launcher.XXMaxPermSize 256M
)に関係するすべてのフラグを削除します。
3行目(org.eclipse.platformの後)に以下を追加します。
-vm
<Full path to JRockit JVM's javaw file>
JRockitのjavawファイルへのフルパスはWindowsの場合は次のようになります。
C:\Program Files\Java\jrockit-R27.4.0-jdk1.6.0_02\bin\javaw.exe
LinuxやSolarisの場合は次のようになります。
$HOME/jrockit-R27.4.0-jdk1.6.0_02/bin/java
個別のJRockit JVMの実装と、この実装上で実行されるアプリケーションに応じて、任意の有効なJRockit JVMのコマンド・ライン・オプションを設定できます。たとえば、-XgcPrio:
オプションを使用してシステムの優先順位に一致するガベージ・コレクタを設定したり、または-Xms
と-Xmx
の値を変更することで、ヒープ・サイズの初期値と最大値を増加(または減少)するような場合があります。
JVMのチューニングの詳細は、Oracle Technology NetworkでOracle JRockit JVM診断ガイドの「プロファイリングおよびパフォーマンス・チューニング」を参照してください。
使用できるコマンド・ライン・オプションの詳細は、Oracle JRockit JVMコマンド・ライン・リファレンスを参照してください。
eclipse.ini
に対して必要な変更が終了したら、ファイルを保存して閉じます。例4-2に、JVMとしてOracle JRockit JVMを指定するために更新されたeclipse.iniファイルの例を示します。
「パースペクティブ」とは、Eclipseウィンドウ内の一連のビューとこれに関係する位置とを定義するものです。言い換えると、パースペクティブは、Eclipseで異なる種類の情報をグラフィカルに表示するときのテンプレートです。たとえば、Javaパースペクティブは、Javaのソース・ファイルを編集するときに通常使用されるビューの組み合わせであり、デバッグ・パースペクティブには、Javaプログラムをデバッグするときに使用されるビューが含まれます。
Eclipse用JRockit Mission Controlプラグインには、JRockit Mission Controlと呼ばれる、あらかじめ定義されたパースペクティブが付属します。このパースペクティブにはJRockit Mission Control Clientインタフェースが表示されるので、Eclipseでアプリケーションの開発中にアプリケーションのプロファイルを行うためにJRockit Mission Controlを構成するツールを使用できます。
このトピックでは、次の手順について説明します。
Mission Controlパースペクティブを開くには
Eclipseウィンドウの右上隅にある「Open Perspective」アイコン(図4-1)をクリックします。
パースペクティブを開くコンテキスト・メニュー(図4-2)が表示されます。
「その他」を選択します。
「パースペクティブを開く」ダイアログ・ボックス(図4-3)が表示されます。
「Mission Control」を選択し、「OK」をクリックします。
Eclipseウィンドウが再構成されてMission Control標準パースペクティブが表示されます。
Mission Controlからパースペクティブを変更するには
その他のMission Controlのパースペクティブを表示するには、表3-1に示すいずれかの方法を使用します。
表4-1パースペクティブの変更
条件 | 手順 |
---|---|
パースペクティブをまだ1度も開いていない場合 |
開くパースペクティブを選択します。 コンテキスト・メニューにパースペクティブ名が表示されない場合は、「その他」を選択し、「パースペクティブを開く」ダイアログ・ボックスでパースペクティブを選択します。 |
以前にパースペクティブを開いたことがある場合 |
以前に開いたことのあるパースペクティブの場合は、パースペクティブのボタンが標準Mission Controlパースペクティブの右上隅にある「Open Perspective」アイコンの近くに表示されます。このボタンをクリックするだけで、目的のパースペクティブが開かれます。 |
Mission Control標準パースペクティブを再び開くには
このプロジェクトのMission Control標準パースペクティブを開いたことがある場合、Eclipseウィンドウの右上隅にある「パースペクティブを開く」ボタンの横に「Mission Control」ボタンが表示されます(図4-4)。
このボタンをクリックするだけで、パースペクティブが開きます。
Eclipse IDEでRockit Mission Controlプラグインを実行する場合、メソッドまたはクラスを選択してJRockit Mission Control Clientからそのメソッドまたはクラスが宣言されているソース・コードに直接ジャンプすることができます。つまり、ソース・ファイルを表示するエディタが起動されます。このソースへの移動機能は、管理コンソールおよびメモリー・リーク・ディテクタで使用できます。
このトピックでは、以下について説明します。
JRockit Mission Control Clientからソース・コードにジャンプするには
表、ツリー、またはクラスやメソッドを一覧表示しているその他のGUIコンポーネントで、ソース・コードを表示するクラスまたはメソッドを右クリックします。
コンテキスト・メニューが表示されます。
「メソッドを開く」(クラスの呼び出へジャンプする場合は「タイプを開く」)を選択します。
関連付けられたソース・コードが新しいエディタで開きます。
注意: この機能はEclipse IDEに統合されたバージョンのJRockit Mission Control Clientでのみ動作します。 |
表3-2 にソースへの移動機能が有効なOracle JRockit Mission Controlプラグインを示します。