What are your jboss start parameters ?
Get a stack trace. Figure out where your application or JBoss is looped.
I've encountered the similar problem and can't deal with it.
The thing is, the amount of threads is growing unpredictably, and it's hard to figure out the reason. Maybe, it depends on JMS options (messages aren't killed immediately)?
My JBoss start options are ok.
Can anyone help me?
Why don't you use JBossProfiler on that?
You can keep the profiler off until you get the 100% of CPU, and make it active when you got the high consumption of CPU. The reports you get will tell exactly what's going on inside the JVM.
Actually I've created JBossProfiler (Well... of course I didn't have that name that time) 1 year and 1/2 ago in the same kind of problem. That's when I came developing the profiler.