Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

b. Java をダブルクリックする。
   Java Control Panel が開きます。

Image RemovedImage Removed

c. Java Tab をクリックする。

 Image Added

d. Java Applet Runtime Settings の View をクリックする。
   システムにインストールした JRE の Java ランタイム設定のリストが表示されます。

 Image Added

e. JRE の側の JavaRuntime Parameters 項目をクリックし、JProfiler Perform required modifications で特定された情報を入力する。
例えば、-agentlib:jprofilerti=port=8849 "-Xbootclasspath/a:C:\Program Files\jprofiler5\bin\agent.jar"を入力します。

...

: JProfilerの評価コピーを使用する場合、評価ダイアログが表示されます。
   Evaluate をクリックし、”Session Startup”  ダイアログを表示開始します。

NexawebImage RemovedImage Added

2. OK をクリックします。
   “Connection status” ダイアログが表示されます。

NexawebImage RemovedImage Added

3. プロファイルしたいアプリケーションを開始します。

4. Jprofiler の左側の VM Telemetry Views をクリックします。
  その後、下の Memory タブをクリックします。

NexawebImage RemovedImage Added

5. Jprofiler でアプリケーションを使用し、パフォーマンスを見ることができます。
  次のグラフはメモリーリークが付いたアプリケーションを表示しています。

NexawebImage RemovedImage Added

メモリーリークソースを確認する

1.   NexawebImage RemovedImage Added をクリックすると、JVM がオブジェクトの収集を始めます。

2. Memory Views をクリックします。

   NexawebImage RemovedImage Added

3. view をフィルターし、Nexaweb のオブジェクトのみを表示します。フィルターに com.nexaweb を入力し、Return キーを押します。

NexawebImage RemovedImage Added

4. View > Mark Current Values を選択します。
 これにより、Jprofiler がアプリケーションの全てのクラスとそれぞれのinstance数を記憶します。

それに加え、Memory view Difference column を追加します。

NexawebImage RemovedImage Added

5.  NexawebImage Removed Image Added をクリックすると JVM がオブジェクトの収集を始めます。

...

7. Difference column に値の入ったオブジェクトを選択し、NexawebImage Removed Image Added をクリックします。
     Jprofile は現在のスナップショットを捨てる様促すダイアログを表示し、すでに選択されている場合、OK をクリックします。
      JProfiler はスナップショットのオプションを選択するよう促すダイアログを表示します。

NexawebImage RemovedImage Added

8. Remove weakly referenced objects をチェックし、OK をクリックします。

9. オブジェクトをダブルクリックします。
     “New Object Set” ダイアログが表示されます。

NexawebImage RemovedImage Added

10. References をクリック後、OK をクリックします。
   Jprofiler が Reference グラフを表示します。

NexawebImage RemovedImage Added

11. オブジェクトを右クリックし、”Show Paths to GC Root” を選択します。
   “Path to GC Roots” オプションダイアログが表示されます。

NexawebImage RemovedImage Added

12. Single root をクリックし、OK をクリックします。
これによりオブジェクトにはリリースしないメモリーの永続オブジェクトである GC root オブジェクトからのリンクを配置し表示します。 

NexawebImage RemovedImage Added

“GC root” は黄色で表示されます。

13. 選択されたオブジェクトから GC root へのパスに従い、 コレクションを探し、次のような [] のついたタイトルが表示されます :

NexawebImage RemovedImage Added

コレクションは通常、配列またはハッシュ表です。アプリケーションがコレクションにオブジェクトを配置し、コレクションを記憶していないため、だいたいこれらによってメモリーリークが発生します。しかし、コレクションが参照されるため、破棄することが出来ません。

...