7.19.4 -XX:ConcGCThreads
Concurrent Markingの処理を並列実行するスレッド数を指定します。
説明
G1GCが有効な場合に、Concurrent Markingの処理を並列実行するスレッドの数を指定します。
JavaVM起動時に、このオプションに指定した数のConcurrent Marking処理用スレッドが作成されて、処理が実行されます。 このオプションを省略した場合は、次の式で算出された数のConcurrent Marking処理用スレッドが作成されます。
Max((ParallelGCThreads※+2)/4,1)
- 注
-
小数点以下は切り捨てです。Max(A,B)は、AとBのうちから大きい方の値を選択することを示します。
- 注※
-
ParallelGCThreadsは、-XX:ParallelGCThreadsに指定した値です。
このオプションを指定する場合は、次の点に注意してください。
-
1を指定するとスレッド1つで並列実行することになるため、実行性能が下がります。
-
実行環境で作成できるスレッド数を超える値を指定した場合は、JavaVM起動時にConcurrent Marking処理用スレッドの作成に失敗するため、JavaVMを起動できません。
-
Concurrent Marking処理用スレッドのスレッド数は、GCスレッド数を超えて作成できません。GCスレッド数を超える値を指定した場合は、次のメッセージが標準出力に出力され、JavaVMの起動に失敗します。
Error occurred during initialization of VM Can't have more ConcGCThreads than ParallelGCThreads.
-
有効な範囲外の値を指定した場合、次のメッセージが標準出力に出力され、JavaVMがリターンコード1で終了します。
Invalid number of concurrent marking threads: -XX:ConcGCThreads=[指定値]
- 前提オプション
-
-
-XX:+UseG1GC
-
- 関連オプション
-
-
-XX:ParallelGCThreads
-
書式
-XX:ConcGCThreads=整数値
指定できる値
- 整数値
-
型:Integer
0〜1000の整数で指定します。
デフォルト値
- 定義項目の省略
-
Max((ParallelGCThreads+2)/4,1)
- 値の省略
-
Max((ParallelGCThreads+2)/4,1)