Sub-second Full GC on 100GB heap, 50% nursery and 64 cpus
IBM JVM with -Xgcpolicy:gencon, the newest of all their GC policies
IBM JVM downloads
Quote from the Blog post:
"And last I tried gencon (-Xgcpolicy:gencon), the newest of all their policies. Gencon is suppose to be used on "transactional systems", systems that create a lot of short lived objects. Isn't that what most java applications do? When I started it up, it seemed to be faster, and our load test confirmed that, 30% more throughput. But the amazing thing was that the full GCs were fast, really fast, in the 200-400ms range, for a 50G heap! But wait, it wasn't using most of the heap, and it was GCing all the time. Back to the verbose:gc log, AHA! The nursery was too small, it was about 10% of the heap, and because our application is almost all short lived objects I decided to increase the size of the nursery. I gave it 50% of the heap, and the time between GCs slowed down, but the time to perform the GC was still in the 350ms range. Awesome!
I finally settled on 100G heap with 50% a nursery, and the full GCs are now in the 400-600ms range. I can live with that, because this gives us a huge ceiling for load, and capacity."
IBM JVM downloads
Quote from the Blog post:
"And last I tried gencon (-Xgcpolicy:gencon), the newest of all their policies. Gencon is suppose to be used on "transactional systems", systems that create a lot of short lived objects. Isn't that what most java applications do? When I started it up, it seemed to be faster, and our load test confirmed that, 30% more throughput. But the amazing thing was that the full GCs were fast, really fast, in the 200-400ms range, for a 50G heap! But wait, it wasn't using most of the heap, and it was GCing all the time. Back to the verbose:gc log, AHA! The nursery was too small, it was about 10% of the heap, and because our application is almost all short lived objects I decided to increase the size of the nursery. I gave it 50% of the heap, and the time between GCs slowed down, but the time to perform the GC was still in the 350ms range. Awesome!
I finally settled on 100G heap with 50% a nursery, and the full GCs are now in the 400-600ms range. I can live with that, because this gives us a huge ceiling for load, and capacity."
Comments