tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jesse Klaasse <jesse.klaa...@indicia.nl>
Subject Re: Tomcat 100% CPU usage after moving from Java 5 to 6
Date Mon, 25 Jan 2010 12:35:55 GMT


Leon Rosenberg-3 wrote:
> 
> they are all seem to be either in an infinite loop:
> 	at java.util.AbstractList$Itr.hasNext(AbstractList.java:339)
> 	at
> nl.indicia.vip.framework.util.Workflow.performWorkflowAction(Workflow.java:166)
> 	at
> nl.indicia.vip.framework.util.DQWorkflow.performWorkflowAction(DQWorkflow.java:56)
> 	at
> org.apache.jsp.bamplaza.componenten.workflow.xmlworkflow_jsp._jspService(xmlworkflow_jsp.java:382)
> 
> or iterating over a very huge list. This way or other they are
> consuming your cpu:
> "ajp-8009-18" Id=187 in RUNNABLE cpu=236296 ms usr=236265 ms blocked
> 315 for -1 ms waited 256 for -1 ms
> "ajp-8009-2" Id=171 in RUNNABLE cpu=221968 ms usr=218734 ms blocked
> 12822 for -1 ms waited 10071 for -1 ms
> "ajp-8009-30" Id=199 in RUNNABLE cpu=371562 ms usr=368234 ms blocked
> 9527 for -1 ms waited 7543 for -1 ms
> "ajp-8009-38" Id=210 in RUNNABLE cpu=518890 ms usr=515593 ms blocked
> 10352 for -1 ms waited 9035 for -1 ms
> http://old.nabble.com/file/p27305988/DQWorkflow.java DQWorkflow.java 
> http://old.nabble.com/file/p27305988/Workflow.java Workflow.java 
> 
> So either its a bug (maybe a concurrency issue, since java 1.6. has
> improved a lot in terms of lock contention reduction) or,
> its a side effect of an out of memory problem, can you make a heap
> dump with jmap and check whether your Old Gen is 99.9999% full?
> 
> Otherwise you should look into at
> nl.indicia.vip.framework.util.Workflow.performWorkflowAction(Workflow.java:166)
> which I never heard of, and don't have sources to check, what's
> happening there exactly.
> 

Those Workflow and DQWorkflow classes are from our company, written by the
programmer who worked on this project before me. I have attached the two
files for further examination.
I have noticed the performWorkflowAction method in DQWorkflow is not
synchronized and uses Vectors and Iterators. Could this be a possible
problem? Even though this all has been working perfectly fine in Java 4 and
5?
-- 
View this message in context: http://old.nabble.com/Tomcat-100--CPU-usage-after-moving-from-Java-5-to-6-tp27305110p27305988.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message