Topic
22 replies Latest Post - ‏2012-10-19T10:15:20Z by SystemAdmin
WiseMind
WiseMind
29 Posts
ACCEPTED ANSWER

Pinned topic Unable to start healthCenter agent.

‏2012-10-08T10:34:45Z |
Hi,

I have downloaded the zip file and extracted the files into the specified IBM JRE directory of AIX system. When I run the following command I got the error below.

  1. java -jar healthcenter.jar
No late attach capable VM's detected, so exiting.

Could you please tell me how to start health center agent or attached VM?
Updated on 2012-10-19T10:15:20Z at 2012-10-19T10:15:20Z by SystemAdmin
  • SystemAdmin
    SystemAdmin
    188 Posts
    ACCEPTED ANSWER

    Re: Unable to start healthCenter agent.

    ‏2012-10-08T10:46:18Z  in response to WiseMind
    Hi,

    Instructions for how to install health center and monitor an application can be found in the installations section on this page but basically you need to add the "-Xhealthcenter" parameter to your applications launch parameters.

    http://www.ibm.com/developerworks/java/jdk/tools/healthcenter/

    There are also full instructions in the help inside ISA once you have the Health Center client installed (see the above link for instructions again)

    Thanks

    Toby
    • WiseMind
      WiseMind
      29 Posts
      ACCEPTED ANSWER

      Re: Unable to start healthCenter agent.

      ‏2012-10-08T11:05:24Z  in response to SystemAdmin
      Hi,
      Thanks for your reply.

      Well I have followd the instructions. But unable to understand two things.

      1) When I give the following command I got the following respond
      $ java -Xhealthcenter
      • com.ibm.java.diagnostics.healthcenter.agent.mbean.HCLaunchMBean startAgent
      INFO: Health Center agent started on port 1972.
      • com.ibm.java.diagnostics.healthcenter.agent.mbean.HCLaunchMBean startAgent
      INFO: Agent version "2.0.0.20111124"

      When I netstat against this port. I am unable to get this port up. I dont understant why.

      2) Actually I want to attach the health center client with health center agent that is assosciated with one JVM only not with application. That means whatever application runs on JVM we can see through health center client ..
      So what should be the JVM command to run health center agent ? kindly mention steps I am very thankful to you.
      • SystemAdmin
        SystemAdmin
        188 Posts
        ACCEPTED ANSWER

        Re: Unable to start healthCenter agent.

        ‏2012-10-08T11:41:56Z  in response to WiseMind
        To launch an application with the health center agent you just need to issue the command you have been doing. So, for example, if your program was HelloWorld and you normally started it with "java HelloWorld", you would now start it with "java -Xhealthcenter HelloWorld". This will start your program with the health center agent attached which will then allow the health center client to connect to it.

        regards

        Toby
        • WiseMind
          WiseMind
          29 Posts
          ACCEPTED ANSWER

          Re: Unable to start healthCenter agent.

          ‏2012-10-08T12:04:48Z  in response to SystemAdmin
          Thank you so much Toby for your kind reply.

          It loaded the alot classes I dont know where classes came from.. These are default JVM classes ???

          What would be the purpose of the following command I have found it in the instruction guide? but dont understand the meaning. As -Xhealthcenter classname can do the all work done ?
          java -jar healthcenter.jar -Dcom.ibm.java.diagnostics.healthcenter.agent.port=1972
          Well one more question I am unable to understand the Graph where it shows heap size around 4MB. While I had run the following command which gives the following info
          $java -verbose:sizes –version
          -Xms4M initial memory size
          -Xmx64M memory maximum

          Is this information accurate ?? How to increase heap size of IBM J9 VM on AIX if classes taking so much memory?
          • SystemAdmin
            SystemAdmin
            188 Posts
            ACCEPTED ANSWER

            Re: Unable to start healthCenter agent.

            ‏2012-10-08T12:48:43Z  in response to WiseMind
            The command of "java -jar healthcenter......." is used if you want to make use of the late attach functionality. That is a method where you can attach the health center agent to an already running application without having to stop and start it with the "-Xhealthcenter" flag.

            The sizings are accurate. If the heap is showing around 4MB, that means your application has not created enough objects to make it grow.

            What is the problem you are trying to solve ?

            regards

            Toby
            • WiseMind
              WiseMind
              29 Posts
              ACCEPTED ANSWER

              Re: Unable to start healthCenter agent.

              ‏2012-10-09T08:14:06Z  in response to SystemAdmin
              Thanks Toby.

              Well one of my application is running on AIX system. Now how to attach health center agent with it ? Can you please show me the commands ?? when I give java -jar healthcenter it unable to connect..

              Actually our application is taking too much time to respond in production. So we are trying to make a scenario in Test system, for that purpose first we want to see health center capability then we need a performance tunning.

              For that purpose we need some useful command on AIX like how to increase heap size of JVM on AIX.. kindly tell me the exact command I have googled it but unable to find the needful.

              Thanks alot for your time.
              • SystemAdmin
                SystemAdmin
                188 Posts
                ACCEPTED ANSWER

                Re: Unable to start healthCenter agent.

                ‏2012-10-10T07:09:34Z  in response to WiseMind
                Hi,

                The command "java -jar healthcenter.jar" is only to be used when trying to connect the health center to an already running application. For the purpose of the testing you are doing you can ignore that method of launching.

                Instead, all you need to do is start your application with the "-Xhealthcenter" option (for example, "java -Xhealthcenter HelloWorld"). This will start you application with the health center agent running so that you can now monitor it with the client.

                regards

                Toby
                • WiseMind
                  WiseMind
                  29 Posts
                  ACCEPTED ANSWER

                  Re: Unable to start healthCenter agent.

                  ‏2012-10-10T08:07:02Z  in response to SystemAdmin
                  Thanks Toby.

                  Its working fine with -Xhealthcenter option.
                  Now I need to monitor application in production environment. How to do that ?
                  Can you please tell me the commands like HelloWorld is already running. Now how to connect the healthcenter agent with running application ?

                  I am giving the following command but it unable to attach VM.

                  java -jar healthcenter.jar Helloworld
                  Thanks
                  • SystemAdmin
                    SystemAdmin
                    188 Posts
                    ACCEPTED ANSWER

                    Re: Unable to start healthCenter agent.

                    ‏2012-10-10T08:20:45Z  in response to WiseMind
                    what level of Java are you running with ? Late Attach is only supported in the latest vm's, so for example java 6sr10. If the version of Java you are using does support late attach then you will have to stop and start your production system and add in the -Xhealthcenter option

                    regards

                    Toby
                    • SystemAdmin
                      SystemAdmin
                      188 Posts
                      ACCEPTED ANSWER

                      Re: Unable to start healthCenter agent.

                      ‏2012-10-10T08:21:57Z  in response to SystemAdmin
                      Hi,

                      The last post should have said does NOT support late attach, use the -Xhealthcenter option

                      regards

                      Toby
                      • WiseMind
                        WiseMind
                        29 Posts
                        ACCEPTED ANSWER

                        Re: Unable to start healthCenter agent.

                        ‏2012-10-11T13:00:21Z  in response to SystemAdmin
                        Thanks Toby,

                        I have given the following command which shows the following information.

                        java -version
                        java version "1.5.0"
                        Java(TM) 2 Runtime Environment, Standard Edition (build pap32devifx-20110627 (SR12 FP5 ))
                        IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 AIX ppc-32 j9vmap3223ifx-20110624 (JIT enabled)

                        Now java application is already running lets suppose HelloWorld.

                        What to do that IBM XhealthCenter able to connect it.. Anyway around kindly tell me the steps.

                        Thank you very much Toby.
                      • WiseMind
                        WiseMind
                        29 Posts
                        ACCEPTED ANSWER

                        Re: Unable to start healthCenter agent.

                        ‏2012-10-11T13:02:59Z  in response to SystemAdmin
                        Also please tell me how to check late attach supporting or not ?
                        If late attach is not supporting by JVM .. There is no way to get connected health center agent with the running java process ?

                        Any alternative suggestion ?

                        Thanks Toby
                        • SystemAdmin
                          SystemAdmin
                          188 Posts
                          ACCEPTED ANSWER

                          Re: Unable to start healthCenter agent.

                          ‏2012-10-11T13:18:58Z  in response to WiseMind
                          Hi,

                          Late Attach is available in the version of Java you are using but just not on by default. See information here about how to turn it on

                          http://www.ibm.com/support/docview.wss?uid=swg21407964

                          If you don't switch it on and want to use Health Center with your application, you will need to stop your application and launch it again with the "-Xhealthcenter" option. This will then allow you to connect to it with the Health Center client from inside ISA.

                          If you do want to use Late Attach, you will need to stop your application, turn on late attach following the instructions on the link above and then connect Health Center by running "java -jar healthcenter.jar" which should then detect the running jvm allowing it to connect. You will then run the client in ISA.

                          regards

                          Toby
                          • WiseMind
                            WiseMind
                            29 Posts
                            ACCEPTED ANSWER

                            Re: Unable to start healthCenter agent.

                            ‏2012-10-12T10:56:21Z  in response to SystemAdmin
                            Thanks Toby for your help so far.

                            Yes I want to use late attach, I have given the following command after stopping the application and its giving the following result

                            bash$ java -Dcom.ibm.tools.attach.enable=yes

                            Usage: java -options class http://args...
                            (to execute a class)
                            or java -jar -options jarfile http://args...
                            (to execute a jar file)

                            where options include:
                            -cp -classpath <directories and zip/jar files separated by :>
                            set search path for application classes and resources
                            -D<name>=<value>
                            set a system property


                            bash$ java -Dcom.ibm.tools.attach.directory=/home/usrname/tmp

                            Usage: java -options class http://args...
                            (to execute a class)
                            or java -jar -options jarfile http://args...
                            (to execute a jar file)

                            where options include:
                            -cp -classpath <directories and zip/jar files separated by :>
                            set search path for application classes and resources
                            -D<name>=<value>
                            set a system property


                            I am missing some flag or switch?

                            Thanks
                          • WiseMind
                            WiseMind
                            29 Posts
                            ACCEPTED ANSWER

                            Re: Unable to start healthCenter agent.

                            ‏2012-10-15T10:42:45Z  in response to SystemAdmin
                            Any idea ? how it works ??
                            • SystemAdmin
                              SystemAdmin
                              188 Posts
                              ACCEPTED ANSWER

                              Re: Unable to start healthCenter agent.

                              ‏2012-10-15T11:35:09Z  in response to WiseMind
                              Hi,

                              You need to pass the "-Dcom.ibm.tools.attach.enable=yes" as a parameter to the launch command for your application. So for example,

                              java -Dcom.ibm.tools.attach.enable=yes HelloWorld

                              This should then start your application with late attach function enabled. If it has worked correctly, you can the run the command "java -jar healthcenter.jar" to attach the health center agent to your application.

                              However, as you have to stop your application to add the "-Dcom.ibm.tools.attach.enable=true" and then attempt the late attach, why not just add -Xhealthcenter instead ?

                              regards

                              Toby
                              • WiseMind
                                WiseMind
                                29 Posts
                                ACCEPTED ANSWER

                                Re: Unable to start healthCenter agent.

                                ‏2012-10-15T13:22:33Z  in response to SystemAdmin
                                Thanks Toby for your detailed response.

                                What I am doing is. I have run the application

                                > java HelloWorld

                                When I give the following command as you have told me before It runs another instance of HelloWorld..
                                > java -Dcom.ibm.tools.attach.enable=yes HelloWorld

                                And when I tried to connect the IBM Health Center client with this so it gives me error : NO JVM detected on localhost on port 1972.

                                I am missing something ?

                                Actually, we are looking to find a solution in a way that we don't need to do anything with the application. We just want to execute the command that connect with the JVM and get the required information.

                                The solution, you are telling is most likely that we need to stop and then start the application. Is there any alternative so we don't need to stop application? Or might be I am unable to understand your point.
                                One more question, I have heard that there is some way that we can generate a file while application is running. And then we can load that file into IBM Health center client. What was the way to that ? and in which situation we go for that option ?
                                Thanks
                                • SystemAdmin
                                  SystemAdmin
                                  188 Posts
                                  ACCEPTED ANSWER

                                  Re: Unable to start healthCenter agent.

                                  ‏2012-10-15T14:26:50Z  in response to WiseMind
                                  Hi,

                                  You missed out a step as detailed in my last post. You need to have a health center agent running to enable the client to connect to it The steps you need to do are

                                  1) Launch your application with "java -Dcom.ibm.tools.attach.enable=yes HelloWorld"

                                  This starts your application with late attach enabled

                                  2) Next run "java -jar healthcenter.jar"

                                  This will connect the health agent to your application that you started in step 1

                                  3) Connect the client in ISA to the agent you have started in step 2

                                  I would advise not using the late attach way for your situation but instead follow these steps

                                  1) Launch your application with "java -Xhealthcenter HelloWorld"
                                  2) Connect the client in ISA to the agent started in step 1

                                  You need to have a health center agent running to enable the client to connect to it.

                                  Its the health center agent that is the important part of all this as that is the part that gets the information out of the vm.

                                  To enable the collection of data without connecting the client, you can start your application with this command

                                  "java -Xhealthcenter:level=headless HelloWorld"

                                  This will start a file being written to the disk (in the working directory) that when the application ends, will be called healthcenter.<pid>.hcd

                                  This file can then be loaded into Health Center.

                                  The help for Health Center (found in ISA) provides information on this starting mode as well as explaining what all the different type of data mean.

                                  regards

                                  Toby
                                  • WiseMind
                                    WiseMind
                                    29 Posts
                                    ACCEPTED ANSWER

                                    Re: Unable to start healthCenter agent.

                                    ‏2012-10-16T07:43:49Z  in response to SystemAdmin
                                    Thank you very much Toby :)
                                  • WiseMind
                                    WiseMind
                                    29 Posts
                                    ACCEPTED ANSWER

                                    Re: Unable to start healthCenter agent.

                                    ‏2012-10-18T10:32:14Z  in response to SystemAdmin
                                    Dear Toby,

                                    AS I followed the steps mentioned by you.

                                    1. I have launched the application with the given command and it works great.

                                    > java -Dcom.ibm.tools.attach.enable=yes HelloWorld

                                    2. After that I have given the following command

                                    > java -jar healthcenter.jar
                                    A Health Center agent may be attached to one of the following Java Virtual Machines:

                                    1:
                                    26935452: ID=26935452

                                    Please select the VM (enter number between 1 and 1) in which to enable the Health Center agent, or blank line to exit.
                                    1



                                    It got stuck, I waited long time but not getting any respond. May be system hungs.

                                    What is the problem ? Why health center is unable to attach with Java Virtual Machine ?

                                    Thanks
                                  • WiseMind
                                    WiseMind
                                    29 Posts
                                    ACCEPTED ANSWER

                                    Re: Unable to start healthCenter agent.

                                    ‏2012-10-18T10:48:11Z  in response to SystemAdmin
                                    Dear Toby,

                                    One more interesting thing that I can see now

                                    I followed the steps below.

                                    1. I have launched the application with the given command.

                                    > java -Dcom.ibm.tools.attach.enable=yes HelloWorld

                                    2. After that I have given the following command

                                    > java -jar healthcenter.jar
                                    A Health Center agent may be attached to one of the following Java Virtual Machines:

                                    1:
                                    26935452: ID=26935452

                                    Please select the VM (enter number between 1 and 1) in which to enable the Health Center agent, or blank line to exit.
                                    1


                                    It got stuck, I waited long time but not getting any respond. May be system hungs.

                                    *********************************************************************************************************************

                                    So Again I run the application while previous HelloWorld also running

                                    > java -Dcom.ibm.tools.attach.enable=yes HelloWorld

                                    Now when I run the command

                                    > java -jar healthcenter.jar

                                    A Health Center agent may be attached to one of the following Java Virtual Machines:

                                    1:
                                    27852904: ID=27852904

                                    2:
                                    8060996: ID=8060996

                                    Please select the VM (enter number between 1 and 2) in which to enable the Health Center agent, or blank line to exit.
                                    2
                                    Successfully enabled Health Center agent in VM: 8060996
                                    Health Center properties used by agent in target VM:
                                    • listing properties --
                                    com.ibm.java.diagnostics.healthcenter.agent.port=1974
                                    com.ibm.java.diagnostics.healthcenter.data.collection.level=full



                                    If again I select option "1" . It agains got stuck. But easily get connected with option "2". Is there any problem with that Java Virtual machine instance ??? Whats happening there ?

                                    Please advise.

                                    Thanks
                                    • SystemAdmin
                                      SystemAdmin
                                      188 Posts
                                      ACCEPTED ANSWER

                                      Re: Unable to start healthCenter agent.

                                      ‏2012-10-19T10:15:20Z  in response to WiseMind
                                      Hi,

                                      Is the JVM that gives you a problem connecting the one running your helloworld class ?

                                      When you ran it the seconds time and you saw 2 entries in this list, are you able to trace which one is which running program ?

                                      regards

                                      Toby