corner imagecorner image FeaturesPluginsPlatformDocs & SupportCommunityPartners

ガベージコレクション

相対 GC 時間と生存中世代数

「VM 遠隔測定」タブの「メモリー」タブには、アプリケーションのガベージコレクションに関する次の情報が表示されます。

  • 相対時間。 相対時間は、すべてのアプリケーションスレッドが中断され、ターゲット JVM がガベージコレクションに費やす合計実行時間の割合として測定されます。
  • 生存中世代。 Profiler が接続されたときからの、JVM のヒープに割り当てられたすべてのオブジェクトの各世代数を表します。
  • オブジェクトの年齢。 オブジェクトの年齢は、何回のガベージコレクションを経て生存しているか、その回数で測定されます。

この数値が徐々に増加していると、通常、リークしているオブジェクトがあることを示します。一方、この測定値が安定していて、以降も目立った増加がない場合は、アプリケーションにメモリーリークの増加がないことを示しています。

メモリー使用率の増加が観察された場合、この情報が役立つことがあります。そうした状況では、通常、メモリーリークが疑われます。しかし、そうした状況であっても、生存中世代数が安定したままであることが明らかになった場合、問題の原因はメモリーリークではなく、ほかの問題である可能性があります。

1 つの例は、同時スレッド数が増加し、各スレッドがきわめて短時間で大量のメモリーを割り当てていることです。その場合、メモリー使用率の漸増が観察され、最終的にメモリー不足エラーが発生する可能性があります。しかし、各スレッドは割り当てたオブジェクトを短時間で解放するため、リークはなく、メモリーのリサイクル率は実際にはきわめて高くなります。

技術的な理由のため、ターゲット JVM で同時マークアンドスイープガベージコレクタが使用されている場合、この監視は機能しません。これは、-XX:+UseConcMarkSweepGC または -Xconcgc の JVM コマンド行オプションを使用して起動するガベージコレクタです。

関連項目

 

 

Project Features

About this Project

Profiler was started in November 2009, is owned by Tomas Hurka, and has 44 members.
 
 
Close
loading
Please Confirm
Close