私は現在、最新のJava 8バージョンでG1 GCを探しています。G1ガベージコレクタの領域サイズを知るには?
私は "Humongous Allocation"に問題があるので、私の地域サイズがどれくらい大きいか知りたいです。
リージョンサイズの設定方法を知るにはどうすればよいですか?
自分で領域サイズを計算するにはどうすればよいですか?
おかげ
私は現在、最新のJava 8バージョンでG1 GCを探しています。G1ガベージコレクタの領域サイズを知るには?
私は "Humongous Allocation"に問題があるので、私の地域サイズがどれくらい大きいか知りたいです。
リージョンサイズの設定方法を知るにはどうすればよいですか?
自分で領域サイズを計算するにはどうすればよいですか?
おかげ
Java-8のG1領域サイズはstartingHeapSize/2048
に基づいており、1MBと32MBの間で2の第1累乗に丸められます。領域サイズ< 1MBまたは> 32MBはサポートされていません。
で領域サイズを設定することもできます(ただし、値は2のべき乗/範囲の制限があります)。
実際には、JVMは2048から4095の間の領域数(2GBから128GBまでのヒープを想定)に偏っているようです。一般的には
これらのヒープサイズの範囲ごとの地域-サイズされています
<4GB - 1MB
<8GB - 2MB
<16GB - 4MB
<32GB - 8MB
<64GB - 16MB
64GB+ - 32MB
ノート、MBは、MIBおよびGBは、私が最大ヒープ(Xmxのに推測基づいている、実際にジブ
私の投票を変更しました。この答えはより正確です。 – keiki