2012-03-12 13 views
2

私は巨大なJavaヒープダンプファイルを持っています。また、(私は信じられない)到達不能なオブジェクトを含んでいます。それはJVMによってガベージコレクションされています。私はヒープダンプファイルに対してJavaガベージコレクションを実行できますか?

  1. 無駄なデータを取り除くことができるように

    は、私は、このファイルに対してガベージコレクタを実行することを可能にするツールはどのように確認するために様々なアルゴリズムとガベージコレクションをシミュレーション/検証、ありますよく彼らは

  2. は、ガベージコレクションの問題を特定作業

答えて

4

は考えていない約2 + 3(と私はそれが可能だろうとは思わない)が、少なくとも要件1は、目ではデフォルトです電子Eclipseのメモリアナライザは

「解析中にデフォルトでは到達できないオブジェクトは、ヒープ・ダンプから削除され、クラスのヒストグラム、支配ツリーなどに表示されません」それが到達不能のオブジェクトを削除することがあり

http://wiki.eclipse.org/MemoryAnalyzer/FAQ

+0

が、ベース私の経験上、ソフト/弱参照(Gcの定義に該当する)によってのみ到達可能なオブジェクトは削除されません。残念ながら、これは、gc'ableでなければならない多くのオブジェクトがまだヒープダンプに現れるので、MATでヒープダンプを解析するのが難しい場合があります。柔らかい/弱い参照を考慮に入れて、ヒープダンプファイルを作るツールを持っていたいと思います。 – JimN