Reputation: 337
We are Planning to move GC from CMS to G1GC .and also from dse to apache are these parameters still needed if we change to G1GC . How these parameters impacted the Garbage collection when using G1GC
-XX:ThreadPriorityPolicy=42
-XX:+HeapDumpOnOutOfMemoryError
-Xss256k
# Larger interned string table, for gossip's benefit (CASSANDRA-6410)
-XX:StringTableSize=1000003
-XX:+AlwaysPreTouch
# Disable biased locking as it does not benefit Cassandra.
-XX:-UseBiasedLocking
`# Enable thread-local allocation blocks and allow the JVM to automatically
-XX:+UseTLAB
-XX:+ResizeTLAB
-XX:+UseNUMA
-XX:+PerfDisableSharedMem
-Djava.net.preferIPv4Stack=true`
Upvotes: 4
Views: 979
Reputation: 16420
Those have little difference between CMS and G1.
TLAB
's are same as CMS, it can help by giving threads each a buffer that they can allocate directly to in eden space which means theres no contention or requirements for thread safe allocation (a lot faster). However if you have a lot of active threads (large cluster with >1000 active clients connected for example) Since each thread buffer will end up small and the resizing becomes inaccurate as different threads become active at different times. Also if larger inserts occurring the allocation wont fit in the buffer and end up allocating in shared spaces anyway. That said its almost always better to run with TLAB/resize.
UseBiasedLocking
also same as CMS, there is not much synchronization and the STW pauses can impact things.
UseNUMA
doesn't work with g1 or cms, thats only for the parallel collector. Setting this does nothing
PerfDisableSharedMem
sacrifices your ability to debug and diagnose performance issues in exchange for a preventing a possible pause when flushing hsperfdata
preferIPv4Stack
dont use ipv6
Upvotes: 4