Java アプリケーションのメモリ生成プール サイズを調整したいと考えています。これを行うには、まずヒープがどのように使用されるかを理解する必要があります。本質的に、JVM ヒープ内のすべてのオブジェクトの数、サイズ、および有効期間を知る必要があります。このデータを収集した後、若い世代と在職期間中の世代のプールにより適したサイズを見つけることができるはずです。
Sun/Oracle のホワイトペーパー「Tuning Garbage Collection with the 5.0 JVM」に記載されている情報に基づいてチューニングを行っています。セクション 3 ( http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html#1.1.%20Generations%7Coutline ) では、世代のサイジングについて説明し、オブジェクトの有効期間グラフの例を示します。アプリケーションで達成しようとしているものとほぼ同じです。
これまでのところ、特定のクラスのインスタンス数とそれぞれのサイズをメモリに記録できました。ただし、インスタンスの平均寿命を抽出する方法が見つかりません。現在、jProfiler を検討していますが、これまでのところ成功していません。
Java アプリケーションのオブジェクトの平均寿命のグラフ化に成功した人はいますか?