VisualVM is not a good tool to use to monitor JBoss AS. VisualVM places a load on JBoss AS and generates a lot of garbage (causing strain on the garbage collector). You would be better off using either JConsole or jstat, or look into Jopr.
As you said I have used JConsole to monitor JBoss but now I need to profile JBoss.JProfiler is a commercial tool.I am using VisualVM because it is free.Is there any other free profiler ?
Do you check that your JBoss app is running under the same condition as you monitored without whatching VisualVM?
I agree to Peter that VisualVM will weight the results (but BTW every measurement will do this).
You must have clear expectations what you want.
Are you looking for a bug or a special problem, e.g. concurency problems of threads under heavy load will not happen if you use a profiler.
I start with JConsole or jstat to get a picture of memory consumption.
Use a (AOP) Interceptor or special log statements to log duration of calls.
And, if I suppose locking contention, a thread dump.
Profiling will cost a lot of performance, it will be helpful to get snapshots to compare (e.g. memory leaks).
AFAIK Netbeans IDE will have a free profiling tool, maybe the trial version of JProfiler (I'm not sure whether there one still available) will help.
I use a paid version of JProfiler in my last company and it save more money than it costs
Also I would recomend to use the latest JDK version
If you have more informations and special questions your welcome