ガーベージ・コレクターの構成

使用しなくなったデータをメモリーから削除するには、ガーベージ・コレクター(GC)を選択し構成します。

ガーベージ・コレクションは、Javaプロセス(ガーベージ・コレクター)によって実行されます。ガーベージ・コレクションを実行すると、必要なくなったデータがメモリーから削除されます。最良のパフォーマンスを得るため、ガーベージ・ファースト(G1)または連続マーク・スイープ(CMS)のいずれかを使用してください。DataStax Enterpriseでデフォルトで使用されるのはガーベージ・ファースト(G1)です。

G1オプションとCMSオプションの基本的な違いは次のとおりです。
  • G1では、ヒープが複数のリージョンに分割します。リージョン数はヒープ・サイズとヒープ・リージョンのサイズによって異なります。次に、実行中のワークロードに基づき、リージョンを旧世代または新世代に動的に割り当てます。ガーベージ・コレクションが優先的に行われる場所は、コレクションの際に空き領域が最大化されるヒープ領域です。また、G1では実行時にトレードオフが生じ、一時停止ターゲット(-XX:MaxGCPauseMillisを使用して構成可能)に対して最適化され、予測可能なパフォーマンスを発揮します。
  • CMSでは、ヒープが新世代(Eden + サバイバー領域)、旧世代、Permanent世代にのみ分割され、さまざまなヒューリスティクスおよび構成可能な設定を利用してパフォーマンスが最適化されます。

G1の利点

DataStaxでは、次の理由からCMSよりもG1をお勧めしています。
  • G1では、大きなヒープ・サイズ(24~96 GB)がサポートされており、調整が不要です。DataStax Enterprise(DSE)システム(特に、Search、Analytics、またはGraphワークロードを含むシステム)に大きなヒープを実行するための十分なRAMがあります。
  • G1では、動的なワークロードをCMSよりも効率よく処理できます。DSEシステムでは、読み取り、書き込み、コンパクション、検索インデックス、解析のための範囲読み取りなどの複数のワークロードがあります。
  • CMSはJava 9で廃止される予定です。
  • G1は構成が簡単です。使用するパラメーターはMAX_HEAP_SIZE-XX:MaxGCPauseMillisのみです。