3.7.3 G1GC
SQL-ParticipantおよびMediatorでは、Javaのメモリ管理の方式にG1GCを選択します。メモリ領域に対してYoungGC、MixedGC、およびFullGCの3種類のGCが発生します。このうち、YoungGCとMixedGCについては、GC発生時にアプリケーションが停止する時間を制御できます。G1GCを選択するために、-XX:+UseG1GCオプションのほか、GC発生時の目標の停止時間、メモリに関するオプションや処理性能のチューニングに関するオプションを指定します。
- 〈この項の構成〉
(1) チューニング対象のパラメタ一覧
|
項番 |
パラメタ |
説明 |
|---|---|---|
|
1 |
-XX:+UseG1GC |
メモリ管理方式にG1GCを選択します。 |
|
2 |
-XX:MaxGCPauseMillis |
希望する最大一時停止時間の目標値を設定します。指定された値はヒープサイズに適合しません。 |
|
3 |
-XX:ParallelGCThreads |
STWワーカースレッドの値を設定します。nの値を論理プロセッサの数に設定します。nの値は、値8までは論理プロセッサの数と同じです。 論理プロセッサが8つを超える場合は、nの値を論理プロセッサの約5/8に設定します。これは、nの値が論理プロセッサの約5/16になる大規模なSPARCシステムを除き、ほとんどの場合に機能します。 |
|
4 |
-XX:ConcGCThreads |
並列マーキングスレッドの数を設定します。nを並列ガベージコレクションスレッド(ParallelGCThreads)の数の約1/4に設定します。 |
|
5 |
-Xms |
Javaヒープの初期サイズを設定します。※1 |
|
6 |
-Xmx |
Javaヒープの最大サイズを設定します。※1 |
|
7 |
-XX:SurvivorRatio |
New領域に対するSurvivor領域で最大に取ることができる領域サイズの割合を設定します。 Survivor領域の最大で取ることができる領域サイズは次の式で求められます。 (Survivor領域のサイズ)※2=(New領域のサイズ)/SurvivorRatio |
|
8 |
-XX:MetaspaceSize |
Metaspace領域の初期サイズを設定します。※3 |
|
9 |
-XX:MaxMetaspaceSize |
Metaspace領域の最大サイズを設定します。※3 |
|
10 |
-XX:CompressedClassSpaceSize |
圧縮オブジェクトポインター機能が有効な場合にMetaspace領域内に作成されるCompressed Class Space領域の最大サイズを設定します。このパラメタは、-XX:MaxMetaspaceSizeオプションと同じ値の設定を推奨します。 |
- 注※1
-
-Xmsと-Xmxの値は同じ値を指定することを推奨します。
- 注※2
-
Survivor領域のサイズとはTo空間またはFrom空間のサイズを指します。To空間とFrom空間の合計サイズではないことに注意してください。
- 注※3
-
-XX:MetaspaceSizeと-XX:MaxMetaspaceSizeの値は同じ値を指定することを推奨します。
(2) パラメタの設定方法
(a) SQL-Participant
SQL-ParticipantのKubernetesマニフェストで、次のとおり指定します。
-
環境変数HMPPCTO_JAVA_OPTIONSでEntity-ServiceのJavaプロセス起動時にJava VMに渡すオプションを指定します。
-
環境変数HMPPCTO_JAVA_OPTIONSでSQL-ParticipantのJavaプロセス起動時にJava VMに渡すオプションを指定します。
SQL-ParticipantのKubernetesマニフェストの記述例は「2.5.5 SQL-ParticipantのKubernetesマニフェストの作成(SQL-Participant限定)」を参照してください。
(b) Mediator
MediatorのHelmチャートのjava.optionsパラメタでMediatorのJavaプロセス起動時にJava VMに渡すオプションを指定します。
java.optionsパラメタの詳細は「(1) Helmチャートのパラメタ」を参照してください。
MediatorのHelmチャートのカスタマイズ例は「3.5.2 MediatorのHelmチャートのカスタマイズ」を参照してください。