メモリー・リークを識別する

メモリー・リークは、プログラムのダイナミック・ストア割り振り論理におけるエラーであり、 破棄したメモリーを、プログラムがレクラメーション処理できなくなる原因と なります。 これは、不要になったオブジェクトを、レクラメーション処理することがで きない状態です。 このようなインスタンスが予期以上に多く存在する場合は、メモリー・リークが生じている可能性があります。 重大なメモリー・リークは、メモリー不足を引き起こし、アプリケーションに障害を起こす可能性があります。

メモリー・リークは、オブジェクトが他のオブジェクトへの参照を保持し続けるために、 その保持オブジェクトをガーベッジ・コレクションでレクラメーション処理できないことが 原因で発生します。 オブジェクト参照テーブルを使用して、 そのような参照を識別することができます。

以下のステップに従ってください。

  1. プロファイル・モニター・ビューで、モニターまたはエージェントを選択します。 
  2. アクティブ・エージェントに対して、オブジェクト参照の収集アクションを実行します。
  3. 右マウス・ボタンをクリックし、次に「開く (Open With)」> 「オブジェクト参照 (Object Reference)」の順に選択します。  オブジェクト参照テーブルが開きます。
  4. ローカル・メニュー  三角形のアイコンが付いたボタン で、 「参照の表示 (Show Reference To)」を選択します。
  5. オブジェクトのリストとそのオブジェクトへの参照の数を調べます。  参照を持っているオブジェクトは、メモリー・リークの問題を引き起こす可能性があります。 

 

関連概念
プロファイル作成ツールの概説
プロファイル作成リソース
オブジェクト参照テーブル

関連タスク
トランザクション指向操作でメモリー・リークを検出する
アプリケーションのプロファイルを作成する
Java プロセスを起動する/接続する
パフォーマンスとメモリー使用量を分析する - 概要

 

 
 

>