<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="https://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    Interpreting GC verbose data for JBoss Server
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="https://community.jboss.org/people/todd.beckwith">Todd Beckwith</a> in <i>Performance Tuning</i> - <a href="https://community.jboss.org/message/723322#723322">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>Greetings All. TIA for any guidance you may be able to provide.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Prior to the beginning of last week, the only thing I knew about JBoss was that we used it in providing our internal users access to webpages created in a production called Natural for Ajax. I've been working in my current position for about 6 months and prior to that, developed applications for Telnet screens in a language called Natural. My IT director in my current position has been unhappy with performance of the webpages created in Natural for Ajax but I started my crash course in JBoss after fulfilling a request to add a new menu system to all of the webpages in our new system. All was well as we slowly shifted users to the new menus but once we opened it up to everyone, we began getting performance complaints. The users were experiencing 8 to 10 second hangs during round trips with the server. We ultimately had to remove a majority of users from the new menu system. After ruling out other components of the system and extensive Internet searching, I began to suspect garbage collection may be the problem.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I have since made a few changes that allow me to capture the GC statistics. I immediately noted that full GC was occuring every two minutes, even on our test system without any users. Other than the changes to capture GC data, the only other change I've made to date is to set -XX:+DisableExplicitGC. I do not have statistics on GC with all users on the new menu but I have little doubt that we will see a performance impact if we throw everyone back on it without making additional changes.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><strong>So, my question is, now that I have a days worth of GC data, how do I go about interpreting it? My gut tells me that new gen space is probably too small right now but I'm not sure how to determine a new size for new gen or calculate a survivor space ratio based on the data collected. Does anyone have a good link to information on how to make heads or tails out of what I am seeing in the GC logs?</strong></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I have attached the current GC data. Users don't really start hitting our system until the 149049.856 mark in the file.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Below are the current parameters being used.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><table><tbody><tr><td style=";">JBoss Version:</td><td style=";">4.2.3.GA</td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><table><tbody><tr><td style=";">Current heap size:</td><td style=";">1,266,187 kbytes</td></tr><tr><td style=";">Maximum heap size:</td><td style=";">2,796,224 kbytes</td></tr><tr><td style=";">Committed memory:</td><td style=";">2,071,552 kbytes</td></tr><tr><td style=";">Uptime:</td><td style=";">2 days 0 hours 12 minutes</td></tr><tr><td style=";">Garbage collector:</td><td style=";">Name = 'PS MarkSweep', Collections = 5, Total time spent = 48.361 seconds</td></tr><tr><td style=";">Garbage collector:</td><td style=";">Name = 'PS Scavenge', Collections = 1,318, Total time spent = 1 minute</td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><table><tbody><tr><td style=";">Operating System:</td><td style=";">HP-UX B.11.31</td></tr><tr><td style=";">Architecture:</td><td style=";">IA64N</td></tr><tr><td style=";">Number of processors:</td><td style=";">4</td></tr><tr><td style=";">Committed virtual memory:</td><td style=";">-1 kbytes</td></tr><tr><td style=";">Total physical memory:</td><td style=";">33,451,448 kbytes</td></tr><tr><td style=";">Free physical memory:</td><td style=";">19,695,784 kbytes</td></tr><tr><td style=";">Total swap space:</td><td style=";">16,777,216 kbytes</td></tr><tr><td style=";">Free swap space:</td><td style=";">16,777,216 kbytes</td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>VM arguments:</p><p>&#160; -Dprogram.name=run.sh</p><p>&#160; -Xms3g</p><p>&#160; -Xmx3g</p><p>&#160; -Dsun.rmi.dgc.client.gcInterval=3600000</p><p>&#160; -Dsun.rmi.dgc.server.gcInterval=3600000</p><p>&#160; -Dcom.sun.management.jmxremote</p><p>&#160; -verbose:gc</p><p>&#160; -Xloggc:/SAG/java/jboss_gc_20120310133545.log</p><p>&#160; -XX:+PrintGCDetails</p><p>&#160; -XX:+PrintGCTimeStamps</p><p>&#160; -XX:+DisableExplicitGC</p><p>&#160; -Djava.endorsed.dirs=/opt/jboss/jboss-4.2.3.GA/lib/endorsed </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Thank you.</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="https://community.jboss.org/message/723322#723322">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in Performance Tuning at <a href="https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2078">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>