How can I find out how much CPU is taken by each JVM thread ?

Kevin Riff

Java Tip 92 at JavaWorld describes how to use the JVM Profiling Interface to get accurate timing information on a per-thread basis. The technique requires a small amount of native code, but it will work regardless of how the JVM maps Java threads to native processes.