Todd Beckwith [
https://community.jboss.org/people/todd.beckwith] created the discussion
"Interpreting GC verbose data for JBoss Server"
To view the discussion, visit:
https://community.jboss.org/message/723322#723322
--------------------------------------------------------------
Greetings All. TIA for any guidance you may be able to provide.
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.
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.
*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?*
I have attached the current GC data. Users don't really start hitting our system until
the 149049.856 mark in the file.
Below are the current parameters being used.
| JBoss Version: | 4.2.3.GA |
| Current heap size: | 1,266,187 kbytes |
| Maximum heap size: | 2,796,224 kbytes |
| Committed memory: | 2,071,552 kbytes |
| Uptime: | 2 days 0 hours 12 minutes |
| Garbage collector: | Name = 'PS MarkSweep', Collections = 5, Total time spent =
48.361 seconds |
| Garbage collector: | Name = 'PS Scavenge', Collections = 1,318, Total time spent
= 1 minute |
| Operating System: | HP-UX B.11.31 |
| Architecture: | IA64N |
| Number of processors: | 4 |
| Committed virtual memory: | -1 kbytes |
| Total physical memory: | 33,451,448 kbytes |
| Free physical memory: | 19,695,784 kbytes |
| Total swap space: | 16,777,216 kbytes |
| Free swap space: | 16,777,216 kbytes |
VM arguments:
-Dprogram.name=run.sh
-Xms3g
-Xmx3g
-Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000
-Dcom.sun.management.jmxremote
-verbose:gc
-Xloggc:/SAG/java/jboss_gc_20120310133545.log
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+DisableExplicitGC
-Djava.endorsed.dirs=/opt/jboss/jboss-4.2.3.GA/lib/endorsed
Thank you.
--------------------------------------------------------------
Reply to this message by going to Community
[
https://community.jboss.org/message/723322#723322]
Start a new discussion in Performance Tuning at Community
[
https://community.jboss.org/choose-container!input.jspa?contentType=1&...]