<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word"><head><META content="text/html; charset=utf-8" http-equiv="Content-Type">



<meta content="text/html; charset=utf-8" http-equiv=Content-Type>
<meta content="Microsoft Word 11 (filtered medium)" name=Generator>
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:Arial;
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:385687805;
        mso-list-type:hybrid;
        mso-list-template-ids:-1477275972 795799432 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Arial;
        mso-fareast-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
</style>

</head><BODY>
<DIV>

<div class=Section1>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'>Hi,<o:p></o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'>I’m new to this list and I have a few questions
about tuning my young generation gc. <o:p></o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'>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.  <o:p></o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'>I am using java 1.6.0_16 64-bit on redhat 5.2 intel
8x3GHz and 64GB ram.<o:p></o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'>The machine is dedicated to this JVM.<o:p></o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'>My steady-state was calculated as follows:<o:p></o:p></span></font></p>

<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><font face=Arial size=2><span lang=EN-CA style='font-size:10.0pt;font-family:Arial'><span style='mso-list:Ignore'>-<font face="Times New Roman" size=1><span style='font:7.0pt "Times New Roman"'>         
</span></font></span></span></font><![endif]><font face=Arial size=2><span lang=EN-CA style='font-size:10.0pt;font-family:Arial'>A typical number of users
logged in and viewed several reports<o:p></o:p></span></font></p>

<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><font face=Arial size=2><span lang=EN-CA style='font-size:10.0pt;font-family:Arial'><span style='mso-list:Ignore'>-<font face="Times New Roman" size=1><span style='font:7.0pt "Times New Roman"'>         
</span></font></span></span></font><![endif]><font face=Arial size=2><span lang=EN-CA style='font-size:10.0pt;font-family:Arial'>Stopped user actions and
performed a manual full GC<o:p></o:p></span></font></p>

<p class=MsoNormal style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2'><![if !supportLists]><font face=Arial size=2><span lang=EN-CA style='font-size:10.0pt;font-family:Arial'><span style='mso-list:Ignore'>-<font face="Times New Roman" size=1><span style='font:7.0pt "Times New Roman"'>         
</span></font></span></span></font><![endif]><font face=Arial size=2><span lang=EN-CA style='font-size:10.0pt;font-family:Arial'>Look at the amount of
heap used and take that number as the steady-state memory requirement<o:p></o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'>In this case my heap usage was ~10GB.  In order
to handle variance or spikes I sized my old generation at 15-20GB.<o:p></o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'>I sized my young generation at 32-42GB and used
survivor ratios of 1, 2, 3 and 6.<o:p></o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'>My goal is to maximize throughput and minimize
pauses.  I’m willing to sacrifice ram to increase speed.<o:p></o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'>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.<o:p></o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'>The problem is that some of the pauses are just too
long.<o:p></o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'>Is there a way to reduce the pause time any more than
I have it now?<o:p></o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'>Am I heading in the right direction?  I ask
because the default settings are so different than what I have been heading
towards.<o:p></o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'>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.<o:p></o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'>I think I have a lot of medium-lived objects instead
of nice short-lived ones.<o:p></o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'>Are there any good practices for apps with objects
like this?<o:p></o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'>Thanks,<o:p></o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'>Jeff<o:p></o:p></span></font></p>

<p class=MsoNormal><font face=Arial size=2><span lang=EN-CA style='font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

</div>

</DIV>
<DIV> </DIV>
<DIV STYLE="FONT-SIZE: 9pt; FONT-FAMILY: Courier New">
<HR>

<DIV ALIGN="justify" STYLE="FONT-SIZE: 9pt; FONT-FAMILY: Courier New"><FONT FACE="Arial" SIZE="1">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.</FONT></DIV>
<HR>

<DIV></DIV></DIV></BODY></HTML>