メモリー・リークの識別

メモリー・リーク分析のビューでは、メモリー・リークしている可能性のあるオブジェクトが識別されます。この情報により、ご使用のコードを訂正し、リークを修正することができます。

前提条件:リーク候補のリストの生成

「リーク候補 (Leak Candidates)」ビューには、ユーザーが分析した 2 つのヒープ・ダンプの間に発生した最も可能性の高いリークが表示されます。これらの候補は、ヒープ内のオブジェクトです (配列、ベクトル、およびセッション・クラスなど)。それぞれの候補には、1 から 100 の間の可能性値が割り当てられます (100 は、最も可能性の高い候補に割り当てられます)。 このビューでは、ユーザーが割り当てたしきい値を超える値を持つ候補だけが表示されます。このビューでは、リークのルート (リークの可能性のあるオブジェクトへの参照を保持しているオブジェクト)、 リーク・オブジェクトのコンテナー、およびリーク・オブジェクトのタイプが識別されます。また、リークの数、リークされているバイト数、およびリークされているオブジェクト (つまり、リークしているオブジェクトによって現在保持されているオブジェクト) の数も指示されます。

メモリー・リークを識別するには、以下の手順を実行します。

  1. リーク候補をダブルクリックして、「オブジェクト参照グラフ (Object Reference Graph)」ビューを表示する。 このグラフでは、リークのルートおよびリークされているオブジェクト へのパスが強調表示されます。
  2. 任意のオブジェクトまたはパス・セグメントの上にカーソルを一時停止させ、統計情報を表示する。 大量に割り振られているメモリーを探します。
  3. 「オブジェクト参照グラフ (Object Reference Graph)」ビュー内のノードをダブルクリックして、 そのノードについての詳細情報を「オブジェクト詳細 (Object Details)」ビューに表示する。 「オブジェクト詳細 (Object Details)」ビューでは、オブジェクトのすべてのデータを一緒に調べることができます。データには、現行オブジェクトを参照するすべてのオブジェクトのリスト、および現行オブジェクトが参照しているすべてのオブジェクトのリストが含まれます。これらのリスト内の任意の項目をクリックして、オブジェクト参照のチェーンを上下にナビゲートできます。
  4. 必要以上に長くオブジェクトが割り振られたままになっているという証拠を見つけたら、長くとどまっている参照がタイムリーな方法で解放されるようにコードを修正してください。
関連タスク
リーク候補のリストの生成
リーク分析データの保管
関連資料
「リーク候補 (Leak Candidates)」ビュー
「オブジェクト参照グラフ (Object Reference Graph)」ビュー
「オブジェクト参照グラフ (Object Reference Graph)」のデータ・コマンド
「オブジェクト詳細 (Object Details)」ビュー
フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.