JRockit Memory Leak Detector ユーザーズ ガイド
![]() |
![]() |
![]() |
![]() |
この節では、BEA JRockit Memory Leak Detector (以降は Memory Leak Detector という) の起動手順とユーザ インタフェースについて説明します。内容は以下のとおりです。
メモリ リーク検出プロセスには次の 3 つの段階があります。
傾向分析では、絶えず更新されるオブジェクト タイプに関する情報を観察して、メモリが不審に増加しているオブジェクト タイプを見つけます。このようなオブジェクト タイプは、メモリ リーク検出プロセスの次の段階で調査の対象となります。傾向分析テーブルの情報は 10 秒ごとに更新されるか、あるいはガベージ コレクションが非常に頻繁に行われる場合はもっと高い頻度で更新されます。
オブジェクト タイプの関係の調査では、オブジェクト タイプの間の参照パスを繰り返し追跡します。増大しているオブジェクト タイプの関係で注目すべきものを探し、その関係に関わるオブジェクト タイプを見つけることが目的です。メモリが異常に増加しているオブジェクト タイプが見つかったら、メモリ リーク検出プロセスの 3 番目の段階に進みます。
インスタンスの調査では、異常なメモリ サイズのインスタンスや、異常な数の参照があるインスタンスを見つけて、そのインスタンスを調べます。インスタンスを調べる際には、フィールド名、フィールドの型、フィールド値などの値が表示されます。これらの値を利用して、アプリケーション コード内で正確なエラーの場所を探します。つまり、その特定のオブジェクト タイプの特定のインスタンスが割り当て、変更、または削除されている場所です (状況の示す内容によって異なります)。不審なインスタンスに関わる部分にまで問題の場所を絞り込んでいくと、メモリ リークを起こしている実際の問題をうまく見つけ出して、その問題を修正することができます。
Memory Leak Detector とアプリケーションを起動する前に、管理サーバを起動する必要があります。
デフォルトのポートは 7091 です。管理サーバのポートを変更する場合は、下記の場所にある『JRockit Management Console ユーザーズ ガイド』の「ポートを変更する」を参照してください。
http://edocs.beasys.co.jp/e-docs/jrockit/docs50/usingJMC/start.html#1036322
Memory Leak Detector のウィンドウが開きます (図 2-1)。
BEA JRockit JVM に接続されていない状態の Memory Leak Detector のウィンドウは図 2-1 のようになっています。このインタフェースは 4 つのタブ、ツールバー、メイン メニュー、およびステータス バーから成っています。
図 2-1 Memory Leak Detector のメイン ウィンドウ
Memory Leak Detector のメイン ウィンドウには、図 2-2 に示すように、[Trend]、[Types]、[Instances]、[Allocation Stack Traces] という 4 つのタブが含まれています。
図 2-2 Memory Leak Detector のタブ (ワーク フローを示している)
Memory Leak Detector のツールバー (図 2-3) には、たとえば JRockit インスタンスに接続するボタンがあります。その他のボタンの説明は、表 2-2 を参照してください。
図 2-3 Memory Leak Detector のツールバー
ウィンドウの最下部に表示されるステータス バー (図 2-4) には、現在の接続に関する情報、傾向分析がオンかどうか、および割り当てスタック トレースがオンかどうかが表示されます。
図 2-4 Memory Leak Detector のステータス バー
![]() ![]() |
![]() |
![]() |