3

Java 5 で開発された Java アプリケーションに取り組んでいます。Java 6 に更新しようとしているので、Jdk1.6 の使用を開始しました。24 時間実行されます。このアプリケーションのタイムリーなバウンスはスケジュールされていません。

これは、MQ キューからメッセージを取得して Oracle テーブルにデータを挿入する 92 個のスレッドすべてで実行されるスレッド ベースのアプリケーションです。

私の質問は、Java 6 でメモリ不足エラーが発生することがあることです。これは、アプリケーションを週/月に 1 回タイムリーにバウンスする必要があるためですか? または、コード内のメモリ リークをチェックする必要がありますか?

アプリケーションを長時間実行するのに GC で十分か、それとも再起動が常に必要かを知りたいだけです。

4

1 に答える 1

0

GCは、長期間実行しても問題ありません。メモリリークが発生しているか、アプリケーションの性質上、JavaVMが許可しているよりも多くのヒープスペースを使用している可能性があります。

アプリをそれと同じようなもので実行-Xmx1g、アプリケーションにより多くのヒープスペースを与えることができます。

于 2013-03-05T13:20:09.217 に答える