简体   繁体   中英

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!

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.

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

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

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 eg 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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM