Looking at the cpu times, top says that pid 324 has used over 900
minutes of cpu time, none of the other tomcat threads have used more
than 9 minutes. When the system is grinding it is pid 324 that is
listed as 97% of cpu with no other java threads on screen. The problem
may be caused by something in my code but the cpu activity appears to be
taking place in that system thread. Garbage collection seems to be the
most obvious candidate. I'm not sure where to go with that conclusion, I
received a reference to GCViewer, but I need to figure out how to
reproduce the situation out of the production server to see how I can
use it...
Further suggestions very welcome!
Thanks,
Lindsay
Caldarale, Charles R wrote:
From: Lindsay Patten [mailto:[EMAIL PROTECTED]
Subject: 100% cpu usage by "VM Thread" in tomcat
Expecting to find that I had some error in my webapp I did a
few thread dumps, but assuming that nid in the thread dump
corresponds to pid from ps I found that the process that was
spinning was "VM Thread":
"VM Thread" prio=1 tid=0x08098a48 nid=0x144 runnable
That's not likely to be the one actually spinning, unless your JVM is
very broken. The VM thread will always show as runnable, since it's the
one displaying the thread dump. You probably need to look a bit more
closely at the other threads.