こんにちは私は、メモリデータグリッドを使用して150GBのヒープメモリプログラムのケースを持っています。私は、1つのマシンを使用するための運用部門からの狂気の要求があります。今では、パラレルガベージコレクタが150GBを超えて使用されている場合、FULL GCが呼び出されるとおそらく数十分のガベージコレクションになります。非対話型アプリケーションで150GBのヒープを処理する
私の希望は、Java 9がShenandoah low pause GCに来ることでした。残念ながら、私はそれがJava 9での配信のために記載されていないと思っています。誰もそれについて何も知らないのですか?
決して少なくても、この量のヒープメモリでG1 GCがどのように機能するのだろうか。
最後に最後の質問です。私は2時間で完了するはずの非対話的なバッチアプリケーションを持っているので、言うことができます。ここでの主な目標は、Full GCが決してキックインされないようにすることです。十分なメモリがあることを確認すると、到達可能な最大ヒープが150で、250GBに割り当てることができますGCは決して蹴らないでしょうか?新世代+旧世代が最大ヒープに触れると、通常はフルGCがトリガーされます。別の方法でトリガーできますか?
重複したリクエストがありました。この質問が重複していない理由をここで説明しようとします。最初に、150GBのHeapについて言及しています。これは、質問に全く異なる次元を追加します。私はRMIを使用していません。第三に、G1ガベージコレクタについての質問です。32GBのヒープバリアを越えて64ビットアドレス空間に入ったら、私はそれを納得させることができません。 <についての質問32GBヒープは、ヒープ> 32GBの質問と同じです。例えば、Permacesが存在しないため、Java 7以降に変更されたことはありません。
今後の機能に関する技術的な質問ですが、私が気付いていないスタックオーバーフロールールには何かがありますか? –
この質問の主な動機は、私が100GB + HEAPを必要とするアプリケーションを持っていることと、ガベージコレクションの潜在的な問題に関してオプションを探しているからです。 –
私は編集者の編集でSOのポリシーに合格することを願っています。改善できると思ったら教えてください。 –