User development,
A new message was posted in the thread "CPU usage increases daily for JBoss PID,
reaches to 100% after 10 days.":
http://community.jboss.org/message/518793#518793
Author : Peter Johnson
Profile :
http://community.jboss.org/people/peterj
Message:
--------------------------------------------------------------
I see the 48 GC threads, but I doubt that they are running and thus not the cause of the
problem. (You would need to turn on GC monitoring to be sure.) How many cores/CPUs do you
have on the system? What command line options are you using? JVM 5 and later will
automatically assign one GC thread per core (for the first 8 cores, with 5 GC threads for
every 8 cores after that).
The 48 threads I wanted you to look at were the ones that were stuck in HashMap.put().
They all seem to have the same, or similar. stack trace:
at java.util.HashMap.put(HashMap.java:420)
at com.pb.e2.present.model.MenuModel.buildInternalList(Unknown Source)
at com.pb.e2.present.model.MenuModel.refresh(Unknown Source)
at com.pb.e2.present.model.MenuModel.refresh(Unknown Source)
at com.pb.e2.present.actions.CustomActionBase.getCMSData(CustomActionBase.java:155)
at com.pb.e2.present.actions.CustomActionBase.prepare(CustomActionBase.java:46)
at
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:118)
. . .
Since 48 threads are all in this exact same code, I suspect that there is an infinite loop
involved. You need to closely examine the above code (it would have helped you greatly if
that code was compiled with -g so that the line numbers would show up in the stack
trace).
One thing you can do it to take several thread dumps, each a few seconds appart. Look for
threads that are "stuck" in the same code - that is where you have infinite
loops.
--------------------------------------------------------------
To reply to this message visit the message page:
http://community.jboss.org/message/518793#518793