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
> 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.
> Todd Lipcon
> Software Engineer, Cloudera
> hotspot-gc-use mailing list
> hotspot-gc-use at openjdk.java.net
hotspot-gc-use mailing list
hotspot-gc-use at openjdk.java.net
More information about the hotspot-gc-dev