>>>Hello. >>> >>>I'm having problems with frequent Full GCs that take a long time, and cause a >>>burst of timeouts for the client application. But first, here is my >>>configuration: >>> >>>Cassandra: 1.1.5 >>>Key Cache : size 209715168 (bytes), capacity 209715168 (bytes), >>>1331992571 hits, 1831790912 requests, 0.854 recent hit rate, 14400 save period >>>in seconds >>>Row Cache : size 104588313 (bytes), capacity 104857600 (bytes), >>>585590776 hits, 646992444 requests, 0.880 recent hit rate, 0 save period in >>>seconds >>>flush_largest_memtables_at: 0.8 >>>memtable_total_space_in_mb: 2048 >>> >>>JVM: >>>java version "1.6.0_35" >>>Java(TM) SE Runtime Environment (build 1.6.0_35-b10) >>>Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01, mixed mode) >>> >>>JVM Options: >>>-XX:+UseParNewGC >>>-XX:+UseConcMarkSweepGC >>>-XX:+CMSParallelRemarkEnabled >>>-XX:SurvivorRatio=8 >>>-XX:MaxTenuringThreshold=1 >>>-XX:CMSInitiatingOccupancyFraction=75 >>>-XX:+UseCMSInitiatingOccupancyOnly >>>-XX:ParallelCMSThreads=4 >>>-Xms16G >>>-Xmx16G >>>-Xmn800M >>>-Xss196k >>> >>>6 nodes with 32GB RAM, Intel(R) Xeon(R) CPU E5-2609, 300GB data per node.
>> Your ParNew size is way too small. Generally 4GB ParNew (-Xmn) works out best >> for 16GB heap > >I was afraid that a 4GB ParNew would cause Young GCs to take too long. I'm >going to test higher ParNew values. > >Thanks, >André Hi André, What are the results of your investigations ? Did you try to tune MaxTenuringThreshold and -Xmn ? I'm interested because I'm experiencing long GC pauses during repairs (cassandra 1.1.12).