2

-XX:+HeapDumpOnOutOfMemoryErrorOutOfMemoryError でヒープ ダンプが有効になることはわかっています。

スレッドダンプに似たものはありますか? サーバーでエラーが発生した場合に備えてこれが必要です-エラーが発生したときにプロセス自体にアクセスできません

4

1 に答える 1

3

OutOfMemoryError が発生する正確な実行ポイントは非常にランダムであるため (シングル スレッド アプリケーションを使用している場合を除く)、OOM でスレッド ダンプを取得するのはあまり意味がないと思います。少なくとも「Java ヒープ スペース」の種類の OOM である場合、これは当てはまりますが、おそらく他の種類の OOM エラーについても同様です。

とにかく、同じ質問に対処するこの古い投稿を見てください。

ただし、OOM エラーに対処するより良い方法は、Eclipse メモリ アナライザー ツールを使用してヒープダ​​ンプを検査することです。オブジェクト グラフをいわゆるドミネーター ツリーに変換することで、メモリ リークを特定するのに役立ちます。この構造は、オブジェクト間のキープアライブの依存関係を明らかにするため、メモリの最大のチャンクを保持する責任があるオブジェクトを特定することが非常に簡単になります (「浅いヒープと保持されたヒープ」を参照)。

于 2013-03-03T23:46:01.427 に答える