7.19.10 -XX:ParallelGCThreads
G1GCを並列実行するスレッドの数を指定します。
説明
G1GCを並列実行するスレッドの数を指定します。-XX:+UseG1GCを指定したときに有効になります。なお、このオプションは、デフォルト値で使用することを推奨します。変更する場合は、実際にJavaVMを動作させて測定した値を基に、最適な値を算出してから変更してください。
JavaVM起動時に、このオプションに指定した数のGCスレッドが作成され、処理が実行されます。
このオプションに0を指定した場合は、デフォルト値が適用されます。
指定時には、次の点に注意してください。
-
1を指定するとスレッド1つで並列実行することになるため、実行性能が下がります。
-
実行環境で作成できるスレッド数を超える値を指定した場合は、JavaVM起動時にGCスレッドの作成に失敗するため、JavaVMを起動できません。
-
有効な範囲外の値を指定した場合、メッセージが標準出力に出力され、JavaVMがリターンコード1で終了します。
-
G1GCの場合、このオプションの値を大きくすると、Evacuation処理用のスレッド数が増えます。このため、Evacuation処理に割り当てられるリソースが増加し、スループットが低下することがあります。このオプションの値を変更した場合、性能の要件を満たしているかどうかを確認してください。
書式
-XX:ParallelGCThreads=value
指定できる値
- value
-
型:Integer
自然数の値を指定します。
デフォルト値
- 定義項目の省略
-
- 実行環境の論理CPU数が8以下の場合
-
-XX:ParallelGCThreads=CPU数
- 実行環境の論理CPU数が9以上の場合
-
-XX:ParallelGCThreads=(8+(CPU数−8)×(5÷8))※
- 注※
-
小数点以下は切り捨ての値になります。
例えば、4CPUの場合は、「ParallelGCThreads=4」でデフォルト値は4になります。また、72CPUの場合は、「ParallelGCThreads=8+(72−8)×(5÷8)=48」でデフォルト値は48になります。