Rohit Jain
Rohit Jain

Reputation: 3224

Remotely profiling a JVM

I need to remotely profile a JVM for CPU Usage, IO stats and File descriptor/handler count and support both *NIX and windows platforms while doing so. I tried using the SIGAR API, which abstracts the platforms very well using an underlying native code implementation, but it does not support remote profiling. Is there an alternative API which can do this? Alternatively, is it feasible to extend the SIGAR framework for remote JVM monitoring? Any hints on where to look at would be helpful. Thanks in advance!

Upvotes: 6

Views: 10041

Answers (4)

Uresh K
Uresh K

Reputation: 1136

Visual VM has been one of the best profiles and is open source. I have been using it for JVM profiling and it comes with different plugin/extensions to see different reports.

I also tried integrating with WebSphere/Tomcat/Liferay and Glassfish servers. In fact, any JVM having the JMX remote management capability enabled would be identified by the Visual VM.

By default, Visual VM identifies the Sun JVM but e.g. it could not recognize the IBM JVM. For any other non-Sun JVMs, you would need to enable the JMX remote management capability in order to connect to the JVM using Visual VM.

Upvotes: 0

Gopi
Gopi

Reputation: 10293

You may try JProfiler. Although its paid you can try out the evaluation version first

Upvotes: 1

Stefan K.
Stefan K.

Reputation: 7851

Afaik, the JVM in general can be configured to allow remote profiling.

Eclipse TPTP has profiling and even nice charting capabilities, they mention networking in their Data Collection Subsystem

The JVisualVM, shipped with the JDK, also has a remote section.

Upvotes: 2

uı6ʎɹnɯ ꞁəıuɐp
uı6ʎɹnɯ ꞁəıuɐp

Reputation: 3481

NetBeans profiler provides all kinds of profiling including remote sessions. See this page from documentation to start remote debugging:

Attaching Profiler to Local or Remote JVM

Upvotes: 1

Related Questions