3

割り当てサイトの注釈を使用して Java ヒープ ダンプを取得できる既存のツールはありますか? このようなヒープ ダンプを使用すると、クラス タイプごとの集計に加えて、ランタイム オブジェクトを割り当て場所 (大まかに言えば、オブジェクトを作成する新しいステートメント) ごとに集計できます。

この種のヒープ ダンプが利用可能であると仮定すると、リークのデバッグに役立つと思いますか?

4

1 に答える 1

2

私はこの機能をHPjmeterに組み込むのを手伝いましたが、これはプラットフォーム固有の機能でした (つまり、Itanium/HP-UX でのみ利用可能でした)。これは、特定の種類の問題を解決するのに役立ちます (たとえば、大量の短期割り当てを行って GC プレッシャーに寄与しているサイトを特定するなど)。ほとんどのリークでは、リークしているオブジェクトがオブジェクト グラフを支配しており、標準ツールはこれを視覚化するのに役立ちます。

これが実際に開発環境である可能性は低いですが、このデータを収集するためのフラグは次のPrintAllocStatitisticsとおりです (これもプラットフォーム固有です!)。

 java ... -XX:+PrintAllocStatistics -Xverbosegc[0|1][:file=[filename[,[n][h][d][u][t]]]]

この機能の詳細については、オンラインドキュメントを参照してください。割り当て統計の検索

于 2013-01-28T06:54:41.967 に答える