G1GC Full GCs

Y. S. Ramakrishna y.s.ramakrishna at oracle.com
Thu Jul 8 09:46:24 PDT 2010

On 07/07/10 17:32, Todd Lipcon wrote:
> OK, I can try some tests with cache configured for only 40% heap usage. 
> Should I run these tests with CMS or G1?

I'd first try CMS, and if that works, try G1.

>         If you like, I can tune down those percentages to 20/20 instead
>         of 20/40, and I think we'll see the same pattern, just
>         stabilized around 3.2GB. This will probably delay the full GCs,
>         but still eventually hit them. It's also way lower than we can
>         really go - customers won't like "throwing away" 60% of the
>         allocated heap to GC!
>     I understand that sentiment. I want us to get to a state where we
>     are able
>     to completely avoid the creeping fragmentation, if possible. There are
>     other ways to tune for this, but they are more labour-intensive and
>     tricky,
>     and I would not want to go into that lightly. You might want to contact
>     your Java support for help with that.
> Yep, we've considered various solutions involving managing our own 
> ref-counted slices of a single pre-allocated byte array - essentially 
> writing our own slab allocator. In theory this should make all of the 
> GCable objects constrained to a small number of sizes, and thus prevent 
> fragmentation, but it's quite a project to undertake :)

That would be overdoing it. I didn't mean anything so drastic and certainly
nothing so drastic at the application level. When I said "labour intensive"
I meant tuning GC to avoid that kind of fragmentation would be more work.

> Regarding Java support, as an open source project we have no such 
> luxury. Projects like HBase and Hadoop, though, are pretty visible to 
> users as "big Java apps", so getting them working well on the GC front 
> does good things for Java adoption in the database/distributed systems 
> community, I think.

I agree, and we certainly should.

-- ramki

> -Todd
> -- 
> Todd Lipcon
> Software Engineer, Cloudera
> ------------------------------------------------------------------------
> _______________________________________________
> hotspot-gc-use mailing list
> hotspot-gc-use at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use

More information about the hotspot-gc-use mailing list