[jboss-user] [Installation, Configuration & Deployment] - GC hell ?

vettori do-not-reply at jboss.com
Tue Jun 12 09:31:41 EDT 2007


Hi,

I'm running JBoss 4.0.5 on Redhat Linux 64. The server has two dual core processor and ten gigabyte of ram.

I start JBoss with :

-Xms4096m -Xmx5120m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:NewSize=2048m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Xloggc:/tmp/gc.log

I have the following problem. At server start the load is very small and the gc is called not very often, for example :

4.356: [GC 314590K->8523K(3932160K), 0.0177040 secs]
4.374: [Full GC 8523K->8318K(3932160K), 0.0849990 secs]
47.272: [GC 1581182K->59216K(3932160K), 0.0860340 secs]
314.685: [GC 1632080K->61497K(3932160K), 0.0628620 secs]
834.124: [GC 1634361K->66492K(3932160K), 0.0693030 secs]
1235.281: [GC 1639356K->66265K(3932160K), 0.0582550 secs]
1519.406: [GC 1639129K->65943K(4109248K), 0.0779130 secs]
2211.883: [GC 1815895K->72202K(3932160K), 0.0790670 secs]
2478.914: [GC 1822154K->75776K(4103296K), 0.0777540 secs]
2725.280: [GC 1993984K->75759K(4031872K), 0.0193570 secs]
2794.302: [GC 1993967K->74001K(4102336K), 0.0129670 secs]
3026.186: [GC 1989009K->77645K(4017088K), 0.0134620 secs]
3604.464: [GC 737189K->79960K(4102464K), 0.0168140 secs]
3604.481: [Full GC 79960K->79901K(4102464K), 0.3914900 secs]
4350.582: [GC 1993373K->86781K(4102464K), 0.0103160 secs]
4634.533: [GC 2000253K->88447K(4105664K), 0.0127350 secs]
5441.497: [GC 2006655K->96467K(4104000K), 0.0134960 secs]
5736.696: [GC 2014675K->94458K(4110528K), 0.0101000 secs]
6554.140: [GC 2022074K->100914K(4108544K), 0.0102490 secs]
6952.151: [GC 2028530K->104049K(4116992K), 0.0095100 secs]


Than after some time that I found depends on the value of NewSize parameter the GC is called a lot of times and the load reach 100% and sometimes 200%. For example :

143806.289: [GC 2258900K->162852K(4193728K), 0.0046960 secs]
143817.558: [GC 2258916K->162884K(4193792K), 0.0044520 secs]
143829.238: [GC 2259012K->162916K(4193792K), 0.0043090 secs]
143840.359: [GC 2259044K->163174K(4193728K), 0.0064450 secs]
143851.252: [GC 2259302K->164061K(4193792K), 0.0050780 secs]
143862.932: [GC 2260189K->164197K(4193152K), 0.0049390 secs]
143874.515: [GC 2259685K->164197K(4193472K), 0.0042450 secs]
143885.381: [GC 2259685K->164773K(4193216K), 0.0052980 secs]
143896.948: [GC 2260005K->164797K(4193344K), 0.0044450 secs]
143908.172: [GC 2260029K->164805K(4193408K), 0.0060260 secs]
143917.971: [GC 2260165K->164893K(4193408K), 0.0053640 secs]
143928.683: [GC 2260253K->164933K(4193536K), 0.0047570 secs]
143939.384: [GC 2260485K->164909K(4193472K), 0.0039900 secs]
143950.040: [GC 2260461K->164909K(4193600K), 0.0040570 secs]
143960.082: [GC 2260589K->164981K(4193536K), 0.0052420 secs]
143970.591: [GC 2260661K->164997K(4193664K), 0.0043150 secs]
143979.495: [GC 1933704K->167118K(4193600K), 0.0110230 secs]

The server is responsive even under such load but I really want to understand why this happens and how to solve this.

The applications makes heavy use of persistence and caches a lot of data (in web sessions) that it's probably not used very frequently but it has a limit on the cache size so I think it's not consuming all the memory.

Any ideas ?

How should I read the gc log ? I don't know how GC works, I tired to read the documentation but it's not very clear to me.

Thank you


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4053544#4053544

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4053544



More information about the jboss-user mailing list