「実行構成の編集」ダイアログ - ツール設定-プロファイラ-メモリー・ページ

メモリー・プロファイリングのオプションを設定する場合に使用します。

メモリー・プロファイラには、1つ重要な設定があります。これは、どこで割当てを報告するかを制御するプロファイラ・クラス・セットです。このセットは3つのすべてのプロファイラに共通であるため、「設定」ダイアログのプロファイラ・ページのグローバル・プロファイラ設定の一部として定義されます。

メモリー割当ては、プロファイラ・クラス・セットに含まれるスタック上の最初のメソッドによって処理されます。スタック上のメソッドがプロファイラ・クラス・セットに属していない場合は、メモリー割当てはカウントされません。

手動サンプリング
プロファイラがメモリー・サンプルを自動的に取得するのではなく、ユーザーがメモリー・プロファイラ・ウィンドウで「プログラムの停止」ボタンまたは「スナップショット」ボタンを押すたびに取得されるようにする場合に選択します。
更新間隔[単位:0.1秒]
メモリー・サンプリングの実施間隔(0.1秒単位)を選択します。デフォルトかつ最低許容値は5(0.5秒)です。
スライダの深さ
メモリーに保持するサンプルの数を選択します。
対象インスタンス
対象外インスタンス
この2つのフィールドには、監視するインスタンスのセットを指定します。慣例では、プリミティブな配列は$primitive疑似パッケージにグループ化され、それ以外のインスタンスはすべて修飾名で指定されます。インスタンスをセットに含めるには、そのインスタンスが対象外リストではなく対象リストに表示されている必要があります。対象リストを空にしておくと、どのクラスも除外されず、全クラスが対象になります。

たとえば、myAppパッケージまたはそのサブパッケージに含まれるアプリケーションについて、独自の型、Java型およびプリミティブ型はプロファイリングし、char[]または参照型はプロファイリングしないようにする場合、myApp;$primitive;javaは含め、$primitive.char;java.refは除外します。

以前に含めていなかったものは除外する必要はありません。たとえば、対象リスト全体がmyAppで構成されている場合、javaを除外する必要はありません。javaに含まれているものがmyAppにはないため、対象外となっているからです。

 

メモリー・プロファイリングについて