jvisualvm を使用してヒープ ダンプを分析しています。レポートから、クラス、インスタンス数、占有サイズを確認できます。
私が知りたかったのは、これらのオブジェクトのソース (インスタンス化されたクラス) です。特定のオブジェクトについて、すべてのソース クラスと、それらの各クラスによって作成されたインスタンスの数がわかれば、悪い候補を簡単に特定できると思います。
これはまったく可能ですか?もしそうなら、そのような情報を提供するための他のツールよりも優れたツールはありますか?
jvisualvm を使用してヒープ ダンプを分析しています。レポートから、クラス、インスタンス数、占有サイズを確認できます。
私が知りたかったのは、これらのオブジェクトのソース (インスタンス化されたクラス) です。特定のオブジェクトについて、すべてのソース クラスと、それらの各クラスによって作成されたインスタンスの数がわかれば、悪い候補を簡単に特定できると思います。
これはまったく可能ですか?もしそうなら、そのような情報を提供するための他のツールよりも優れたツールはありますか?
YourKitは、サイズと数による割り当てトレースを提供します。作成された特定のクラスを検索して、ホットスポットを見つけることができます。評価版は無料です。;)
試しましたか
jhat <yourdump>
あなたの作品が次の形式であると仮定します。
プライベート何とか何とか=新しい何とか();
すべてのインスタンスについて、誰がそれへの参照を保持しているかを確認できます。また、強力なクエリ言語 [OQL] も提供します。例については、 jhat OQL AND in where 句を参照してください。
しかし、別の場所でそれを作成し、別のクラス フィールドで保持するために単純に渡した場合、それは単なるスナップショットであるため、[ツールを使用して] メモリ ダンプから見つけることはできません。
試す:
http://dr-brenschede.de/bheapsamplerを参照して要約を理解しやすくするか、 http: //www.eclipse.org/mat を参照して詳細な分析を行ってください。
これらのツールは、あなたが探しているものを正確に実行します