简体   繁体   English

远程分析JVM

[英]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. 我需要远程配置JVM以获取CPU使用率,IO统计信息和文件描述符/处理程序计数,并同时支持* NIX和Windows平台。 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. 我尝试使用SIGAR API,它使用底层本机代码实现很好地抽象平台,但它不支持远程分析。 Is there an alternative API which can do this? 是否有替代API可以做到这一点? Alternatively, is it feasible to extend the SIGAR framework for remote JVM monitoring? 或者,扩展SIGAR框架以进行远程JVM监控是否可行? 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. Afaik,通常可以将JVM配置为允许远程分析。

Eclipse TPTP has profiling and even nice charting capabilities, they mention networking in their Data Collection Subsystem Eclipse TPTP具有分析甚至很好的图表功能,他们在数据收集子系统中提到了网络

The JVisualVM , shipped with the JDK, also has a remote section. JDK附带的JVisualVM也有一个远程部分。

NetBeans profiler provides all kinds of profiling including remote sessions. NetBeans探查器提供各种分析,包括远程会话。 See this page from documentation to start remote debugging: 从文档中查看此页面以启动远程调试:

Attaching Profiler to Local or Remote JVM 将Profiler连接到本地或远程JVM

You may try JProfiler . 你可以试试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. Visual VM是最好的配置文件之一,是开源的。 I have been using it for JVM profiling and it comes with different plugin/extensions to see different reports. 我一直在使用它进行JVM分析,它带有不同的插件/扩展来查看不同的报告。

I also tried integrating with WebSphere/Tomcat/Liferay and Glassfish servers. 我还尝试与WebSphere / Tomcat / Liferay和Glassfish服务器集成。 In fact, any JVM having the JMX remote management capability enabled would be identified by the Visual VM. 实际上,任何启用了JMX远程管理功能的JVM都将由Visual VM识别。

By default, Visual VM identifies the Sun JVM but eg it could not recognize the IBM JVM. 默认情况下,Visual VM标识Sun JVM,但例如它无法识别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. 对于任何其他非Sun JVM,您需要启用JMX远程管理功能才能使用Visual VM连接到JVM。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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