3 Replies Latest reply on Sep 2, 2011 4:27 AM by wdfink

    Profilling JBoss with VisualVM

    arka.sharma

      Hi All,

       

      I am using jdk1.6 update 12 and JBoss 5.1.I am running JBoss and connecting with VisualVM in order to monitor and profile JBoss.Both JBoss and VisualVM are running on my local machine.I am able to monitor JBoss but when I am trying to profile it the system is getting hanged and after some time VisualVM is asking the application is not responding.And asking to stop profilling.I'm able to profile my sample console application via VisualVM.

      This issue is coming with JBoss only.

       

      Thanks & Regards,

      Arka

        • 1. Re: Profilling JBoss with VisualVM
          peterj

          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.

          • 2. Re: Profilling JBoss with VisualVM
            arka.sharma

            Hi Peter,

             

            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 ?

             

            Thanks

            Arka

            • 3. Re: Profilling JBoss with VisualVM
              wdfink

              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