Young generation configuration

jeff.lloyd at algorithmics.com jeff.lloyd at algorithmics.com
Thu Sep 10 13:06:54 PDT 2009


Hi,

 

I'm new to this list and I have a few questions about tuning my young
generation gc. 

 

I have chosen to use the CMS garbage collector because my application is
a relatively large reporting server that has a web front end and
therefore needs to have minimal pauses.  

 

I am using java 1.6.0_16 64-bit on redhat 5.2 intel 8x3GHz and 64GB ram.

 

The machine is dedicated to this JVM.

 

My steady-state was calculated as follows:

-          A typical number of users logged in and viewed several
reports

-          Stopped user actions and performed a manual full GC

-          Look at the amount of heap used and take that number as the
steady-state memory requirement

 

In this case my heap usage was ~10GB.  In order to handle variance or
spikes I sized my old generation at 15-20GB.

 

I sized my young generation at 32-42GB and used survivor ratios of 1, 2,
3 and 6.

 

My goal is to maximize throughput and minimize pauses.  I'm willing to
sacrifice ram to increase speed.

 

I have attached several of my many gc logs.  The file gc_48G.txt is just
using CMS without any other tuning, and the results are much worse than
what I have been able to accomplish with other settings.  The best
results are in the files gc_52G_20Gold_32Gyoung_2sr.txt and
gc_57G_15Gold_42Gyoung_1sr.txt.

 

The problem is that some of the pauses are just too long.

 

Is there a way to reduce the pause time any more than I have it now?

Am I heading in the right direction?  I ask because the default settings
are so different than what I have been heading towards.

 

The best reference I have found on what good gc logs look like come from
brief examples presented at JavaOne this year by Tony Printezis and
Charlie Hunt.  But I don't seem to be able to get logs that resemble
their tenuring patterns.

 

I think I have a lot of medium-lived objects instead of nice short-lived
ones.

 

Are there any good practices for apps with objects like this?

 

Thanks,

Jeff

 


 
--------------------------------------------------------------------------
This email and any files transmitted with it are confidential and proprietary to Algorithmics Incorporated and its affiliates ("Algorithmics"). If received in error, use is prohibited. Please destroy, and notify sender. Sender does not waive confidentiality or privilege. Internet communications cannot be guaranteed to be timely, secure, error or virus-free. Algorithmics does not accept liability for any errors or omissions. Any commitment intended to bind Algorithmics must be reduced to writing and signed by an authorized signatory.
--------------------------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20090910/55defd8d/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gc.zip
Type: application/x-zip-compressed
Size: 66850 bytes
Desc: gc.zip
Url : http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20090910/55defd8d/attachment-0001.bin 
-------------- next part --------------
_______________________________________________
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-dev mailing list