メモリー・プロファイラを使用すると、プログラムがどのようにJavaヒープを使用しているかを把握できます。メモリー・リークやヒープの非効率な使用、および一般にメモリーに関する疑わしい動作を検出します。
メモリー・プロファイラでは、最初に1つの大きな表にデータが表示されます。また、その表にリストされているクラスに関する詳細なレポートも提供されます。クラスの詳細は、表でクラスが表示されている行をダブルクリックするか、右クリックして「割当ての詳細の取得」を選択します。
後で参照するためにプロファイリング・セッションのデータを保存するには、表内で右クリックして次の保存オプションのいずれかを選択します。
.opr
)として保存し、メモリー・プロファイラのウィンドウとして開くことができます。
データを列内で昇順または降順にソートするには、列ヘッダーをクリックします。列を再編成するには、列をクリックして新しい位置にドラッグします。
「設定」ダイアログに直接移動してプロファイラ設定を再構成するには、メイン・ウィンドウの表内で右クリックして「設定」を選択します。表示される列に変更を指定した場合は、プロファイラに戻ると、プロファイラの表示に変更内容が反映されます。他の変更を行った場合は、新規のプロファイリング・セッションを開始するまで変更内容は反映されません。
メイン・ウィンドウの表には、ヒープの状態だけでなく、ヒープの活動状況(経過時間中に発生した割当てと解放)が表示されます。プロファイラ・クラス・セットに属するメソッドがヒープに1つもない場合に発生した割当ては、カウントされません。
表の上部には、現在のプロファイリング・セッションを制御する5つのボタン、およびプロファイリングの進行状況を追跡するスライダが1つあります。
プログラムを一時停止した後、詳細ウィンドウを表示してプロファイリングを継続し、両方のウィンドウにデータを取得できます。詳細ウィンドウが表示される以前の状態までプログラムを逆方向にスクロールすると、NO DATA
という通知が表示されます。詳細ウィンドウを閉じると、データはリカバリできなくなります。
「設定」ダイアログのプロファイラ - メモリー・ページでは、メモリーにいくつのサンプルが保持されているかを確認できます。この値によって、戻ることができる数が決まります。
表には、現在のプロファイリング・セッションで検討されるクラスごとにデータが表示されます。
これらの列の値は、前のサンプルへのスクロールに合わせて変化します。
表内のいずれかの行をダブルクリックするか、右クリックして「割当ての詳細の取得」を選択すると、特定のクラスに関する詳細な割当て表を開くことができます。この割当て表にはそのクラスの各インスタンスが表示され、各インスタンスの割当て元が示されます。詳細ウィンドウを閉じると、その内容は破棄されます。
表内に表示されたメソッドのソース・コードを表示するには、メソッドが表示されている表の行をダブルクリックするか、右クリックして「ソースの検索」を選択します。
プログラムを一時停止した後、詳細ウィンドウを表示してプロファイリングを継続し、両方のウィンドウにデータを取得できます。詳細ウィンドウが表示される以前の状態までプログラムを逆方向にスクロールすると、NO DATA
という通知が表示されます。詳細ウィンドウを閉じると、データはリカバリできなくなります。
詳細ウィンドウは、現在のサンプルに関してのみ開くことができます。プログラムを一時停止してセッションの始めの方のサンプルに戻り、詳細ウィンドウを開こうとすると、スライダのノブが現在のアクティブなサンプルにジャンプし、そのサンプルに関する詳細ウィンドウが開きます。
このウィンドウに表示される詳細な表には、列が1つ追加されます。
これ以外の行には、メイン・ウィンドウに示されているタイプの情報が表示されます。
Copyright © 1997, 2007, Oracle. All rights reserved.