title: Tools to monitor java thread execution
body: <p>I've a java web application running on an Tomcat server(Linux). In the production environment I'm facing some performance issue. At random intervals the jsvc process on which tomcat is running starts to run at 90-100% CPU. I'm unable to find out the trigger for this event. The server is a quad core system. Memory consumption does not indicate any abnormalities.</p>
  
  <p>How can I monitor which thread(application stack trace) in the application is causing the problem?</p>
  
  <p>I'm checking with <a href="http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html" rel="nofollow">jconsole</a> and <a href="http://code.google.com/p/psi-probe/" rel="nofollow">PSI Probe</a>, but both are not giving any detailed information about what thread inside the application is causing the CPU usage abnormality.</p>