3

この問題の解決に関するこのスタック オーバーフロー ページを読み、コマンド ライン オプション -XX:-UseGCOverheadLimit と "-Xmx" 引数を追加してみました。ただし、私のプログラムはまだメモリ不足エラーをスローしました。

このプログラムは、多数 (>40,000 キー) の単語を MultiKeyMap に保存し、十分なメモリを備えたサーバー上で実行されます。

エラーを回避する方法について何か提案はありますか?

4

3 に答える 3

0

「GCオーバーヘッド制限」はメモリリークに関連している可能性がありますが、そうである必要はありません。元の質問に基づいて、本当の問題が何であるかを言うのは難しいです。すべてのエソセリックフラグのない「通常の」コマンドライン構成と、すべてのデータを保持するためのXmxの適切な設定が必要です。詳細なgcロギングをアクティブにして、実際にオーバーヘッドを引き起こしているGCを理解し、GC戦略または世代サイズを変更してそれを調整する必要があります。

通常、オーバーヘッドエラーは、メモリに優しい構造を使用し、ソフト参照または弱参照を使用する場合に発生します。自分で使用する場合は、誤解されやすいので、その内容をよく理解しておいてください。

于 2012-11-25T21:15:34.913 に答える