[ 
https://issues.apache.org/jira/browse/CASSANDRA-7486?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14877411#comment-14877411
 ] 

Jonathan Shook commented on CASSANDRA-7486:
-------------------------------------------

I do believe that there is a gap between the maximum effective CMS heap sizes 
and the minimum effective G1 sizes. I'd estimate it to be about the 14GB - 24GB 
range. Neither does admirably when taxed for GC throughput in that range. Put 
in another way, I've never and would never advocate that someone use G1 with 
less than 24G of heap. In practice, I use it only on systems with 64GB of 
memory, where it is no big deal to give G1 32GB to work with. We have simply 
seen G1 go slower when it doesn't have adequate scratch space. In essence, it 
really likes to have more memory.

We have also seen anecdotal evidence that G1 seems to settle in, performance 
wise, after a warm-up time. It could be that it needs to collect metrics long 
enough under steady state before it learns how to handle GC and heap allocation 
better. This hasn't been provided definitively, but is strongly evidenced in 
some longer-run workload studies.

I do agree that when you don't really need more than 12GB of heap, CMS will be 
difficult to beat with the appropriate tunings. I'm not really sure what to do 
about the mid-band where neither CMS nor G1 are very happy. We may have to be 
prescriptive in the sense that if you want to use G1, then you should give it 
enough to work with effectively.

Perhaps we need to make the startup scripts source a different GC config file 
depending on the detected memory in the system. I normally configure G1 as a 
sourced (included) file to the -env.sh script, so this would be fairly 
straightforward.

[~ato...@datastax.com], any comments on this?
 

> Migrate to G1GC by default
> --------------------------
>
>                 Key: CASSANDRA-7486
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7486
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Config
>            Reporter: Jonathan Ellis
>            Assignee: Albert P Tobey
>             Fix For: 3.0 alpha 1
>
>
> See 
> http://www.slideshare.net/MonicaBeckwith/garbage-first-garbage-collector-g1-7486gc-migration-to-expectations-and-advanced-tuning
>  and https://twitter.com/rbranson/status/482113561431265281
> May want to default 2.1 to G1.
> 2.1 is a different animal from 2.0 after moving most of memtables off heap.  
> Suspect this will help G1 even more than CMS.  (NB this is off by default but 
> needs to be part of the test.)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to