title: How to see what my Java process is doing right now?
body: <p>I have an app server process that's constantly at 100% CPU. By constantly I mean hours, or even days.</p>
  
  <p>I know how to generate a heap/thread dump, but I'm looking for more dynamic information. I would like to know what is using so much CPU in there. There are tens (or probably 100+) threads. I know what those threads are, but I need to know which of them are using my CPU so much.</p>
  
  <p>How can I obtain this information?</p>