リリース ノート

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

Oracle JRockit Mission Control 2.0 および 2.0.1 リリース ノート

Oracle JRockit Mission Control 2.0.1 は、Eclipse Rich Client Platform (RCP) を基盤とする新しい JRockit JVM ツールセットです。以下のリリースノートでは、このリリースと以前のリリースで導入された最新の改善事項と機能について要点を詳しく説明します。内容は以下のとおりです。

 


JRockit Mission Control 2.0.1 の機能および改善事項

JRockit Mission Control 2.0.1 はメンテナンス リリースであるため、大きな機能の変更は追加されていません。主な改善事項は以下のとおりです。

JRA での起動時刻とアップタイム情報

JRA ツールの [全般] タブの [概要] パネルに、JRockit プロセスが開始された時刻と、JRA 記録を開始するまでの時間 ([記録前のアップタイム] フィールド) が表示されるようになりました。

図 3-1 に、JRA ツールの [全般] タブの新しい [JRockit 起動時刻] フィールドと [記録前のアップタイム] フィールドを示します。

図 3-1 JRockit JVM の起動時刻と記録前のアップタイム

JRockit JVM の起動時刻と記録前のアップタイム

実行中のプロセスのリスト

JRA ツールには新しい [プロセス] タブがあります (図 3-2)。このタブでには、起動時と記録時にマシンで実行されているすべてのプロセスのスナップショットが表示されます (図 3-2 の 1)。プロセスをクリックすると、その詳細が表示されます (図 3-2 の 2)。

注意 : Windows で行われる記録についてはコマンドライン情報は表示されません。
図 3-2 JRA ツールの新しい [プロセス] タブ

JRA ツールの新しい [プロセス] タブ

最適化に関する情報

JRA ツールの [最適化] タブには (図 3-3)、メソッドの最適化の開始時刻 ([開始時刻] 列)、終了時刻 ([終了時刻] 列)、所要時間 ([時間] 列) が表示されます。

図 3-3 JRA ツールの [最適化] タブ

JRA ツールの [最適化] タブ

ガベージ コレクションの表示の改良

古い世代のガベージ コレクション (古いコレクション :OC) とナーサリ ガベージ コレクション (若いコレクション :YC) で発生した休止時間が JRA ツールにわかりやすく表示されるようになりました (図 3-4)。

図 3-4 JRA ツールでの古いコレクションと若いコレクション

JRA ツールでの古いコレクションと若いコレクション

 


JRockit Mission Control 2.0 の機能および改善事項

JRockit Mission Control 2.0 リリースでは、ツールが大幅に改善されました。主な改善事項は以下のとおりです。

新しい改善されたユーザ インタフェース

新しいユーザ インタフェースは Eclipse Rich Client Platform を基盤とします。したがって、Eclipse IDE を使用した経験があれば、メニュー、マウス、キーボード、ヘルプ システムなどを違和感なく操作できます。

JRockit Mission Control の最初のバージョンに用意されていたツールは 1 つの統一 GUI (図 3-5 を参照) に融合され、さらに追加された JRockit ブラウザを使って実行中の Java アプリケーションをすばやく検索、接続できます。このツールには、複数のアプリケーションを同時にモニタする機能もあります。JRockit Mission Control 2.0 で使用できるすべてのツールの新しい統合されたバージョンを 図 3-5 に示します。

図  3-5 JRockit Mission Control (すべてのアプリケーションを開いた状態)

JRockit Mission Control (すべてのアプリケーションを開いた状態)

JRockit Mission Control 2.0 は、次の要素で構成されます。

  1. JRockit ブラウザ : このリリースでツールセットに追加されたツール。JRockit JVM インスタンスを見つける新しい手段として使用できます。見つかったインスタンスを選択すると、Management Console または Memory Leak Detector でインスタンスの監視が開始されます。
  2. 履歴データ : 属性を追跡し、その傾向を確認できる、オーバーヘッドの少ないツール。JRockit JVM、独自のアプリケーションまたは MBean サーバに登録済みの MBeans を使用するその他のアプリケーションを対象として属性を選択できます。
  3. JRockit Runtime Analyzer : 一般的な実行時分析ツール。記録対象データの追加、グラフのフィルタ処理機能、コンテキスト対応のヘルプなどの改善がありました。
  4. Memory Leak Detector : アプリケーション内のメモリ リークを特定する便利なツール。このリリースで JRockit Mission Control 2.0 に組み込まれました。
  5. Management Console: JRockit の実データをモニタする一般的な JRockit Mission Control ツール。実行中の Java アプリケーションをモニタすることや、あらかじめ定義された条件を満たすか超えた場合に通知するトリガを作成することができます。

ユーザビリティの改善

このリリースには、以下のような多くのユーザビリティの改善事項があります。

追加された診断データ

JRA ツールで使用できる診断データ、特にガベージ コレクション情報がさらに詳細になりました。

オンデマンドの接続

JRockit JVM と JRockit Mission Control が同じユーザによって開始された場合、JRockit Mission Control 2.0 ではローカル コンピュータにある JRockit JVM (5.0 以降) インスタンスを自動で検出し、接続できます。

JRockit Mission Control ではリモート監視用に導入されたマルチキャスト ベースの JRockit Discovery Protocol (JDP) を利用して、実行中の JRockit JVM インスタンスを自動的に検出できます。この機能を有効にすると、検出された JRockit JVM のリストが自動生成され、JRockit ブラウザに表示されます。

JDP を有効にするには、-Xmanagement:autodiscovery=true を使って JRockit JVM を開始します。「-Xmanagement」を参照してください。

 


最新の変更点

各リリースでは、Mission Control 2.0 に対して以下の修正が加えられました。

JRockit Mission Control 2.0.1 リリースでの変更事項

JRockit Mission Control 2.0 リリースでは、以下の変更が行われました。

変更要求 ID
説明
CR311881
Linux で、1 秒あたりのコンテキスト スイッチの合計数が誤って計算されます。この問題は修正されています。
1 秒あたりのコンテキスト スイッチの合計数は、JRA ツールの [全般] タブの [スレッド] パネルにある [システムのコンテキスト スイッチ合計数/秒] フィールドに表示されます。
CR309660
Oracle JRockit R27.1 で、1.4 バージョンの JRockit JVM に関して CPU アフィニティの変更を行いましたが、機能しませんでした。現在は、すべての JDK レベルで機能します。
CR307277
JRockit Management Console で、グラフ上で右クリックして [拡大] メニューの [拡大] を選択して拡大すると、[スクロールを禁止] チェック ボックスが自動的に選択される。以前は、グラフを選択して拡大 (右クリックして [拡大] メニューの [選択] を選択) した場合にのみ、この状況が発生していました。
CR307277
[パスワードを設定ファイルに格納 (クリア テキスト)] チェック ボックスが選択されている場合、JRockit ブラウザの [JRockit 接続] ウィンドウから、パスワードが適切に格納されなかった。この問題は修正されています。
CR305851
Oracle JRockit JVM 1.4.2 の接続ウィザードで提示されるポートは 7090 (Oracle JRockit JVM 1.4.2 で使用される RMP プロトコル用のデフォルト ポート) になりました。JRockit Mission Control 2.0 では、接続ウィザードで 7091 (JMX プロトコル用のデフォルト ポート) が提示されていたため、7090 に手動で設定する必要がありました。
CR304563
JRockit Mission Control を実行するマシン上で有効なファイル パスしか JRA 記録に使用できませんでした (「確認済みの問題」の CR304566 を参照)。この問題は修正されています。
CR303923
JMXMAPI では、bea.jrockit.management.GarbageCollectorMBean の方式属性を変更することでガベージ コレクション方式を変更する方法を適切にサポートしていませんでした。
この問題は修正されています。

注意 : 方式の変更は次のガベージ コレクションが発生するときに行われます。方式属性を変更した後で GarbageCollectorMBeangc オペレーションを使用すると、ガベージ コレクションを強制することができます。

CR303920
JDK 5.0 に含められている JRockit JVM において、使用中のポートで管理サーバを起動しようとすると、JVM が終了する (「確認済みの問題」の CR303920 を参照)。
この問題は修正されています。
CR302945
JRockit Runtime Analyzer (JRA) の [GC イベント] タブの [古いコレクション] セクションに表示される [圧縮率] が正しく計算されるようになりました。常に、圧縮可能な部分の実際の数値が計算に使用されます。
以前は、圧縮可能な部分のデフォルトの数値が計算に使用されていたため、誤った比率になることがありました。
CR302733
Management Console で、グラフと軸のタイトルを編集できます。編集するには、グラフを右クリックして [タイトルの編集] サブメニューを選択します。サブメニューで、グラフのタイトル、X 軸のタイトル、Y 軸のタイトルのどれを編集するかを選択します。
タイトルを編集した場合、Management Console を再び開くときに新しいタイトルが格納されて使用されます。
CR302635
Discovery フォルダの下でノードの作成、名前の変更、または削除はできないはずだが、JRockit Mission Control 2.0 ではこれらの操作が可能だった (「確認済みの問題」の CR302635 を参照)。この問題は JRockit Mission Control 2.0.1 で修正されている。
CR302571
以前、JRockit Mission Control 2.0 では、JRA ファイルの処理に関する制限があったが (「確認済みの問題」の CR302571 を参照)、Mission Control 2.0.1 では修正されている。
JRA ファイルの名前にスペースを使用できるようになりました。また、記録は常にデフォルトの temp ディレクトリに格納されます (システム プロパティ java.io.tmpdir で指定します)。
Windows で jrcmd を使用する場合、スペースを含むファイル名は次のように \" で囲む必要があります。
jrcmd 3964 jrarecording time=100 filename=\"name with spaces.jra\"
CR301366
以前、JRockit Mission Control 2.0 では、JRockit JVM を最初にモニタしてから、モニタされる JRockit JVM の起動パラメータを変更すると、使用できなくなった属性が Management Console のグラフや他の場所に (データなしで) 表示されました。
JRockit Mission Control 2.0.1 では、使用できなくなった属性は Management Console でグレー表示される。
CR293482
JRockit Mission Control 2.0.1 より前のリリースでは、Linux 上で、JRockit Mission Control のタブで Memory Leak Detector を実行するように設定を変更すると、[傾向] または [割り当てスタック トレース] タブが開き、Detector の GUI は更新されるたびに点滅した。この問題は 2.0.1 で修正されています。

JRockit Mission Control 2.0 リリースでの変更事項

JRockit Mission Control 2.0 リリースでは、以下の変更が行われました。

変更要求 ID
説明
CR292969
Linux 版 JRockit Mission Control ランチャ (jrmc) には、以下のコマンドライン オプションがある。
  • -nl - ロケールを設定する。たとえば、日本および日本語に設定するには jrmc -nl ja_JP を使用します。デフォルトのロケールは英語です。-nl の引数は、java.util.Locale.toString() の戻り値と同じ形式で指定する必要があります。
  • -help - 使用可能なオプションのリストを表示する。
  • -version - JRockit JVM および JRockit Mission Control のバージョン情報を表示する。
Windows 版 JRockit Mission Control ランチャ (jrmc.exe) には、Linux 版と同じコマンドライン オプションがあります。ただし、使用するサブシステムは「console」ではなく「windows」なので、リダイレクトしない限り出力が失われる。コマンド シェルで実行する場合、リダイレクトするには「jrmc -version |more」と入力します。
CR293818
JRockit Mission Control を Windows で実行する場合、JRA の記録を作成できるのは Administrators または Performance Logs のユーザ グループのメンバーだけである。いずれのユーザ グループでもないときは、一般的に次のようなエラー メッセージが表示されます。
[perf ] Failed to init virtual size counter:
CR295172
JRockit Mission Control 2.0 GUI が、Windows の [スタート] メニューから使用できるようになりました。
CR298174
これまで Management Console の通知トリガは、最初に到達したときに無視されることがありました。この問題は修正されています。

 


確認済みの問題

JRockit Mission Control 2.0 および 2.0.1 リリースでは以下の問題が確認されています。

問題
説明
CR355590
Memory Leak Detector のインスタンス グラフで、グローバル JNI ハンドルから誤った参照が示されることがあります。このような参照でツールチップに「ハンドル数 : :1」と表示される場合は、参照が正しくない可能性があります。同様に、発生する頻度はこれよりも低いのですが、スレッド ルート (MemLeak Socket Reader) からの参照は常に誤っています。これらの参照は、JRockit Mission Control の Memory Leak Detector の実装で一時的に使用されるものです。これらの参照では、オブジェクトが常には有効に保たれてはいません。
CR315538
JRockit Runtime Analyzer の記録を実行するときに、コンカレント ガベージ コレクションのいずれかの休止時間がわずかに長くなることがあります。JRA 記録中の休止は通常 5 ミリ秒以内ですが、休止時間が 10 ミリ秒ほどに増える場合があります。記録が終了すると、休止時間は通常どおりに戻ります。
CR310655
JRockit Memory Leak Detector を、Detector を実行している JRockit JVM に接続すると、オブジェクト割り当てのフィードバック ループが原因で JRockit JVM でメモリ不足が起きる場合があります。通常割り当てられるオブジェクト タイプ (java.lang.String オブジェクトや char 配列など) のスタック トレースまたはタイプ グラフの検査をやめることで、この問題を緩和できます。
CR313460
JRockit Runtime Analyzer の [メソッド] タブの [祖先] パネルでメソッドを続けて展開すると、分岐点に達する前に祖先の割合値が減ることがある。分岐点まで展開しない限り、割合値は同じになるはずです。この問題は JRockit Mission Control 2.0 および 2.0.1 で発生する可能性がある。
CR302355
Linux で、JDK 5.0 の場合に、メイン ウィンドウのタブで Memory Leak Detector を実行するときの問題は JRockit Mission Control 2.0.1 で解決されました。ただし、JDK 6 の場合、AWT の変更が原因で SWT/AWT の相互運用性に関する他の問題が起きます。その結果、Linux 上での Memory Leak Detector の実行方法は各 JDK バージョンごとに異なる設定になっており、JDK 5.0 でのみ、タブでの実行がデフォルトになっている。
CR307929
JRockit Management Console のメソッド プロファイラは、現在、最初に一致したクラスのみをプロファイリングします。現時点では、一致するすべてのクラスをプロファイリングしたり、特定のクラス ローダに関するクラスをプロファイリングする方法はありません。
CR311881
Linux で、[システムのコンテキスト スイッチ合計数/秒] フィールドの値が 1000 倍小さくなっています。このフィールドは JRockit Runtime Analyzer の [全般] タブの [スレッド] パネルにあります。この問題は JRockit Mission Control 2.0.1 で修正されています。
回避策 :
[システムのコンテキスト スイッチ合計数/秒] フィールドに表示された値に手動で 1000 をかけて、正しい値を取得します。
CR293482
Linux 上で、JRockit Mission Control のタブで Memory Leak Detector を実行する場合、[傾向] または [割り当てスタック トレース] タブが開き、Detector の GUI が更新されるたびに点滅する。この問題は JRockit Mission Control 2.0.1 で修正されています。
回避策 :
Linux では、Memory Leak Detector を常に別のウィンドウで開きます。影響を受けるプラットフォームでは、これがデフォルトの設定になっています。
CR289236
Management Console のグラフなどに使用できる属性は、監視対象の JRockit JVM の起動パラメータによって異なります。監視対象 JRockit JVM の起動パラメータが監視を始めた後で変更された場合、取得できなくなった属性は引き続き表示されますが、データはありません。データが欠けていること以外に属性がアクティブではないことを示すものはありません。
この問題は JRockit Mission Control 2.0.1 で修正されていて、使用できる属性はグレー表示されなくなった。
CR300410
JRA の記録のダーク マター分析に問題が見つかりました。JRA の記録中にダーク マターが計算されません。これは JRA ツールの問題ではなくサーバ側の問題です。
回避策 :
アプリケーションを起動する前に、分析対象の JRockit JVM のコマンドラインで -XXminblocksize を設定する。この値を、対象の JRockit JVM で使う最小 TLA サイズ (デフォルト値 2KB) に設定する必要があります。
CR301546
JRockit Mission Control MBeanBrowser をクリックすると、JRockit Mission Control のログ ファイルに java.util.ConcurrentModificationException が書き込まれる場合があります。機能に影響を与える問題ではありません。
CR302355
Linux 版 JRockit Mission Control 2.0 では、デフォルトで Memory Leak Detector がメイン ウィンドウのタブではなく単独のウィンドウで実行されます。Linux で JDK 1.4.2 を使用する場合、これは Memory Leak Detector を実行する唯一の方法でもあります。
他の JDK を使用する場合は、プリファレンス設定を変更して Memory Leak Detector をタブで実行することができますが、GUI の更新時に点滅が起きることがあります (点滅の程度は X サーバによって異なります)。これは X11 の SWT/AWT 相互運用性の問題が原因です。
Linux 上の JRockit Mission Control 2.0.1 では、JDK 5.0 の場合は Memory Leak Detector をタブで問題なく実行できるが、JDK 6 の場合は問題が起きる。プリファレンス設定とデフォルトはそれぞれの状況に応じて更新された。
CR302571
JRA ファイルの扱いに制限があります。制限の程度は、記録を開始する方法によって異なります。
  • jrcmd を使って記録を開始した場合、ファイル名またはパスにスペースを含めることはできない。
  • Oracle JRockit JVM 5.0 以降で JRockit Mission Control を使って記録を開始した場合、ファイル名が「jrockit」で始まり「.jra」または「.jra.zip」で終わる一時的な記録が記録先 JVM の現在の作業ディレクトリに配置されるが、このファイルが JRockit Mission Control に転送された後もこのディレクトリに残ることがある。
この制限は JRockit Mission Control 2.0.1 で削除された。
CR302635
Discovery フォルダ下でフォルダ ノードの作成、名前の変更または削除を行えます。この問題は JRockit Mission Control 2.0.1 で修正されています。
回避策 :
このような操作をノードに行わないでください。誤ってこのような操作をノードに行った場合は、JRockit Mission Control を再起動すると元の状態に戻ります。
CR303343
JRockit Runtime Analyzer (JRA) の [GC イベント] タブの [古いコレクション] セクションに表示される圧縮率の数値が正しくありません。圧縮可能な部分の数がデフォルト値の 128 ではない場合にこの問題が起こります。この問題は JRockit Mission Control 2.0.1 で修正されています。
回避策 :
正確な値を計算するには、[使用可能な圧縮部分数] で [# 圧縮部分数] を割ります。
CR303920
JRockit JVM 5.0 で、使用中のポートで管理サーバを起動しようとすると、JVM が (System.exit(1) を生成して) 終了します。すでに実行中の JRockit JVM で jrcmd を使って管理サーバを起動した場合に、これは特に危険である。この問題は JRockit Mission Control 2.0.1 で修正されています。
回避策 :
-Xmanagement オプション (パラメータを含む) を指定して起動された JRockit JVM で管理サーバを起動します。
または
JRockit Mission Control で、同じコンピュータ上のローカルなアタッチを使って接続します。
CR304566
JRockit Mission Control をローカル コンピュータで実行しているときに 1.4.2 JRockit JVM の JRA の記録をリモート コンピュータに作成すると、「<JVM connection> の JRA を開けない」問題が発生することがある。リモート コンピュータの 1.4.2 JRockit JVM には JRA データをローカル コンピュータの JRockit Mission Control に自動転送する機能がないのに、JRockit Mission Control GUI で JRA の記録を開始するときにローカル ファイルの名前しかチェックされないことが、この問題の原因である。この問題は JRockit Mission Control 2.0.1 で修正されている。
回避策 :
JRA の記録に相対ファイル名を使用します。相対ファイル名は、記録先 JRockit JVM の現在の作業ディレクトリへの相対位置に変換されます。
CR304936
JRockit Mission Control の Management Browser を使って JRockit JVM に接続すると、[切断] ボタンとコンテキスト メニュー項目が無効になり、Management Browser で他の項目を選択し、接続中の JRockit JVM を再選択するまで有効になりません。
CR305851
接続ウィザードで提示される JRockit JVM 1.4.2 用ポートは 7091 です。これは JMX 通信のデフォルト ポートですが、JRockit JVM 1.4.2 では JMX プロトコルは使用されません。提示されるポートは本来 7090 (RMP プロトコルのデフォルト ポート) でなければなりません。この問題は JRockit Mission Control 2.0.1 で修正された。JRockit JVM 1.4.2 で提示されるポートは 7090 になっている。
回避策 :
ウィザードでポートを手動で 7090 に設定します。


  ページの先頭       前  次