2

これは、スタック オーバーフロー フォーラムでの私の最初の投稿です。最近、Java OOME の問題がいくつか発生しており、jvisualvm、yourkit、および eclipse mat ツールを使用して、いくつかの問題を特定して修正できます...

分析中に観察された 1 つの動作は、jconsole または jvisualvm を使用して手動でヒープダンプを作成すると、ヒープダンプの生成後に jvm で使用されるヒープ サイズが劇的に (1.3 GB から 200 MB に) 減少することです。誰かがこの振る舞いについてアドバイスしてもらえますか? 使用されているヒープサイズが 1.5GB を超えていることがわかると、manaul GC を実行すると、システムが使用されているヒープサイズの数値を下げて jvm の再起動が発生しないため、これは便利な機能です。

追加の詳細についてお知らせください

ありがとうグル

4

2 に答える 2

1

JConsole を使用してダンプ ファイルを作成する場合、2 つのパラメータがあります。1 つ目は生成するファイル名 (完全なパス) で、2 つ目 (デフォルトでは true) は、ダンプを取得する前に gc を実行するかどうかを示します。ダンプする前に完全な gc が必要ない場合は、false に設定します。

于 2013-01-07T19:33:23.680 に答える
0

これは古い質問ですが、自分自身の新しい質問をしているときに見つけたので、答えることにしました。

ヒープ ダンプを生成すると、JVM はヒープ ダンプを生成する前に System.gc() 操作を実行します。これにより、参照されていないオブジェクトが収集され、ヒープ使用率が効果的に削減されます。私は実際にそのシステム GC を無効にする方法を探しているので、JVM で大量に発生しているガベージ オブジェクトを調べることができます。

于 2013-01-02T19:35:04.853 に答える