最新のG1ガベージコレクタを使用したいが、私が使用するときにメモリ割り当てエラーが発生する状況に遭遇している。私はこれがOSにメモリを解放しているので、これは信じています。そして、OSは、CMSコレクタでは発生しないので、JVMが要求したときにJVMに要求を返すことを許可していません。私が実行している特定のサーバは、GCコレクタで正常に動作しています(GCの一時停止に加えて).GIに移動すると、約6時間後にこれらの割り当てエラーが発生し、JVMが存在します。G1コレクタ使用時にJVMがヒープをOSに戻さないようにする
これがG1コレクタで起こるのを防ぐことは可能かどうかは明らかではありませんが、コミュニティの誰かが回答を得ることを望んでいました。
ありがとう!
'-Xms'オプションは、JVMに割り当てられた初期ヒープを設定します。これにより、割り当てられたヒープがOSに戻されるのを防ぐことができると思います。 –
あなたは実際には「OSはJVMにそれを返すことを許可していません」と決めましたか?それとも、CMSの失敗を観察しただけの推論ですか? – the8472
私は、OSがJVMにメモリを戻すことを許可していないと思うほどの証拠はありませんが、G1の主な機能の1つがリリースされることがわかっているのでメモリをOSに戻します。私はこれが根本原因であるかどうかを判断し、それを無効にして再度テストする最良の方法を見つけます。 –