diff --git a/CHANGES.txt b/CHANGES.txt index 5bcf25667c..36934c6454 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.2 + * Use G1GC by default, and update default G1GC settings (CASSANDRA-18027) * SimpleSeedProvider can resolve multiple IP addresses per DNS record (CASSANDRA-14361) * Remove mocking in InternalNodeProbe spying on StorageServiceMBean (CASSANDRA-18152) * Add compaction_properties column to system.compaction_history table and nodetool compactionhistory command (CASSANDRA-18061) diff --git a/conf/jvm11-server.options b/conf/jvm11-server.options index 7e78467853..0f73d4cfed 100644 --- a/conf/jvm11-server.options +++ b/conf/jvm11-server.options @@ -11,39 +11,41 @@ ### CMS Settings --XX:+UseConcMarkSweepGC --XX:+CMSParallelRemarkEnabled --XX:SurvivorRatio=8 --XX:MaxTenuringThreshold=1 --XX:CMSInitiatingOccupancyFraction=75 --XX:+UseCMSInitiatingOccupancyOnly --XX:CMSWaitDuration=10000 --XX:+CMSParallelInitialMarkEnabled --XX:+CMSEdenChunksRecordAlways +##-XX:+UseConcMarkSweepGC +##-XX:+CMSParallelRemarkEnabled +##-XX:SurvivorRatio=8 +##-XX:MaxTenuringThreshold=1 +##-XX:CMSInitiatingOccupancyFraction=75 +##-XX:+UseCMSInitiatingOccupancyOnly +##-XX:CMSWaitDuration=10000 +##-XX:+CMSParallelInitialMarkEnabled +##-XX:+CMSEdenChunksRecordAlways ## some JVMs will fill up their heap when accessed via JMX, see CASSANDRA-6541 --XX:+CMSClassUnloadingEnabled +##-XX:+CMSClassUnloadingEnabled ### G1 Settings ## Use the Hotspot garbage-first collector. -#-XX:+UseG1GC -#-XX:+ParallelRefProcEnabled +-XX:+UseG1GC +-XX:+ParallelRefProcEnabled +-XX:MaxTenuringThreshold=1 +-XX:G1HeapRegionSize=16m # ## Have the JVM do less remembered set work during STW, instead ## preferring concurrent GC. Reduces p99.9 latency. -#-XX:G1RSetUpdatingPauseTimePercent=5 +-XX:G1RSetUpdatingPauseTimePercent=5 # ## Main G1GC tunable: lowering the pause target will lower throughput and vise versa. ## 200ms is the JVM default and lowest viable setting ## 1000ms increases throughput. Keep it smaller than the timeouts in cassandra.yaml. -#-XX:MaxGCPauseMillis=500 +-XX:MaxGCPauseMillis=300 ## Optional G1 Settings # Save CPU time on large (>= 16GB) heaps by delaying region scanning # until the heap is 70% full. The default in Hotspot 8u40 is 40%. -#-XX:InitiatingHeapOccupancyPercent=70 +-XX:InitiatingHeapOccupancyPercent=70 # For systems with > 8 cores, the default ParallelGCThreads is 5/8 the number of logical cores. # Otherwise equal to the number of cores when 8 or less. diff --git a/conf/jvm8-server.options b/conf/jvm8-server.options index 6214669eab..4c08439b0d 100644 --- a/conf/jvm8-server.options +++ b/conf/jvm8-server.options @@ -18,38 +18,40 @@ ################# ### CMS Settings --XX:+UseParNewGC --XX:+UseConcMarkSweepGC --XX:+CMSParallelRemarkEnabled --XX:SurvivorRatio=8 --XX:MaxTenuringThreshold=1 --XX:CMSInitiatingOccupancyFraction=75 --XX:+UseCMSInitiatingOccupancyOnly --XX:CMSWaitDuration=10000 --XX:+CMSParallelInitialMarkEnabled --XX:+CMSEdenChunksRecordAlways +##-XX:+UseParNewGC +##-XX:+UseConcMarkSweepGC +##-XX:+CMSParallelRemarkEnabled +##-XX:SurvivorRatio=8 +##-XX:MaxTenuringThreshold=1 +##-XX:CMSInitiatingOccupancyFraction=75 +##-XX:+UseCMSInitiatingOccupancyOnly +##-XX:CMSWaitDuration=10000 +##-XX:+CMSParallelInitialMarkEnabled +##-XX:+CMSEdenChunksRecordAlways ## some JVMs will fill up their heap when accessed via JMX, see CASSANDRA-6541 --XX:+CMSClassUnloadingEnabled +##-XX:+CMSClassUnloadingEnabled ### G1 Settings ## Use the Hotspot garbage-first collector. -#-XX:+UseG1GC -#-XX:+ParallelRefProcEnabled +-XX:+UseG1GC +-XX:+ParallelRefProcEnabled +-XX:MaxTenuringThreshold=1 +-XX:G1HeapRegionSize=16m + -# ## Have the JVM do less remembered set work during STW, instead ## preferring concurrent GC. Reduces p99.9 latency. -#-XX:G1RSetUpdatingPauseTimePercent=5 -# +-XX:G1RSetUpdatingPauseTimePercent=5 + ## Main G1GC tunable: lowering the pause target will lower throughput and vise versa. ## 200ms is the JVM default and lowest viable setting ## 1000ms increases throughput. Keep it smaller than the timeouts in cassandra.yaml. -#-XX:MaxGCPauseMillis=500 +-XX:MaxGCPauseMillis=300 ## Optional G1 Settings # Save CPU time on large (>= 16GB) heaps by delaying region scanning # until the heap is 70% full. The default in Hotspot 8u40 is 40%. -#-XX:InitiatingHeapOccupancyPercent=70 +-XX:InitiatingHeapOccupancyPercent=70 # For systems with > 8 cores, the default ParallelGCThreads is 5/8 the number of logical cores. # Otherwise equal to the number of cores when 8 or less.