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&containerType=14&container=2078]

_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to