What kind of java monitoring tools are vailable for v1.4.2_11?
Hi folks,
I've spent a lot of time in the HPUX environment, but now I'm working in Solaris mostly.Unfortunately, we are having a problem with a java application that is hard to pin-point.Do you know of any Sun tools available to instrument, and or monitor a java application and tell us where it's spending most of it's CPU time? (or possibly how much of certain system calls it's running and spending time in?). We're running:
./java -version
java version "1.4.2_11"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_11-b06)
Java HotSpot(TM) Client VM (build 1.4.2_11-b06, mixed mode)
In a nutshell, the problem is this....we run a java application in a VCS cluster, which just means that it has the potential to run on one of three possible systems. When the application is housed in a shared disk area that is moved to one particular server, then mounted. On one server, the java application runs 3x slower, but it pegs the cpu at 100%. On the other nodes, it runs at about 20% cpu, and it's out put is super fast.We have undergone an extremely detailed "ha" audit of the OS and cluster configurations, and we find that they are identical.(I used to design and consult with HP for their cluster implementations).I was able to gather some rudimentary OS statistics on java by running the "truss -cal -p <java pid>" command on both systems (good vs. bad). This revealed something strange: that on the bad system, nearly 90% of the system calls java made were "yield". On the good system, about .5% of the system calls were "yield".
Other than that, I'm stumped. Now I'm looking for ways to instrument and monitor the JVM to help pinpoint what the JVM is doing..
Any help is greatly appreciated.
Thank you.
Pete (PDQ)
peter.rupp@acxiom.com

