Monitoring Java virtual machine (JVM)

IBM® Health Center can be used with the Product Master as a diagnostic tool for monitoring the status of the JVM of the application.

About this task

IBM Health Center provides information on garbage collection, locking, and profiling, that help in the troubleshooting the potential problems in the Product Master. For more information, see IBM Monitoring and Diagnostic Tools - Health Center.

Procedure

  1. Download and install the Health Center Agent on the JVM of the server. For more information, see Installing the Health Center agent.
  2. Start the Java™ applications with the IBM Health Center Agent enabled. For more information, see Starting a Java application with the Health Center agent enabled.
    Product Master can be enabled for the IBM Health Center in the either of the following way. To find the correct option to use for your specific Java version, see, Platform requirements.
    Option Steps
    WebSphere® Application Server Admin console
    To enable the IBM Health Center in the appserver.
    1. Log in to the WebSphere Application Server Admin console.
    2. Click Servers > Server Types > Websphere application servers and choose your server.
    3. Click Java and Process Management > Process definition.
    4. Under the additional properties section, select Java Virtual Machine.
    5. Provide the Java argument to enable the IBM Health Center agent in the Generic JVM arguments section. For example, if you are using Java 6 SR4, provide the following code in the Generic JVM arguments section:
      -agentlib:healthcenter -Xtrace:output=perfmon.%p.out
      Note: To disable the IBM Health Center agent in the appserver by using this method, remove the added option from the Generic JVM arguments section and continue to the next step.
    6. Restart the server.
    Setting environment variable IBM_JAVA_OPTIONS
    1. Set the environment variable IBM_JVM_OPTIONS. For example, in Linux® using Java 6 SR4, set the variable to the following value:
      export IBM_JAVA_OPTIONS=
      "-agentlib:healthcenter -Xtrace:output=perfmon.%p.out"
      Note: This enables all of the Product Master services for the IBM Health center. By default, the first service is assigned the value 1972. The port increments by 1 for each subsequent service started. To disable the IBM Health Center agent by using this method, remove the environment variable: unset IBM_JVM_OPTION.
    2. Restart the server.
  3. Connect to the Product Master by using the IBM Health Center client. For more information, see Connecting to a Java application using the Health Center client.
    Note: If you have more than one service enabled for the IBM Health center, ensure that you select Scan next 100 ports for available connections. To determine which service you are connected to, select the Environment > Configuration tabs and check the Java command line field. The -Dsvc_name shows the name of the service you are connected to.

What to do next

Use IBM Health Center profiles to identify performance bottlenecks in the Product Master and custom code. Sort by the Tree(%) column in the descending order to identify methods that utilize time. Following are some common methods that can show up in the profiles and are helpful for performance analysis:
  • com.ibm.ccd.common.interpreter.engine.Script.run
  • com.ibm.ccd.element.common.EntryPopulater.runContainerScript
  • com.ibm.ccd.element.common.AbstractEntry.runEntryBuildScript
  • com.ibm.ccd.connectivity.common.CtgToDb.execute
  • com.ibm.ccd.workflow.common.events.BeginStepEvent.runStepScript
  • com.ibm.ccd.workflow.common.events.EndStepEvent.runStepScript
  • com.ibm.ccd.element.common.EntryPopulator.populateEntry