【发布时间】:2010-07-16 05:41:28
【问题描述】:
我需要远程分析 JVM 的 CPU 使用率、IO 统计信息和文件描述符/处理程序计数,并同时支持 *NIX 和 windows 平台。我尝试使用 SIGAR API,它使用底层本机代码实现很好地抽象了平台,但它不支持远程分析。是否有替代 API 可以做到这一点?或者,是否可以扩展 SIGAR 框架以进行远程 JVM 监控?任何关于在哪里查看的提示都会有所帮助。提前致谢!
【问题讨论】:
我需要远程分析 JVM 的 CPU 使用率、IO 统计信息和文件描述符/处理程序计数,并同时支持 *NIX 和 windows 平台。我尝试使用 SIGAR API,它使用底层本机代码实现很好地抽象了平台,但它不支持远程分析。是否有替代 API 可以做到这一点?或者,是否可以扩展 SIGAR 框架以进行远程 JVM 监控?任何关于在哪里查看的提示都会有所帮助。提前致谢!
【问题讨论】:
Afaik,JVM 通常可以配置为允许远程分析。
Eclipse TPTP 具有分析甚至是漂亮的图表功能,他们在Data Collection Subsystem 中提到了网络
JDK 附带的JVisualVM 也有一个远程部分。
【讨论】:
NetBeans profiler 提供各种分析,包括远程会话。从文档中查看此页面以开始远程调试:
【讨论】:
你可以试试JProfiler。虽然是付费的,但你可以先试用评估版
【讨论】:
Visual VM 一直是最好的配置文件之一,并且是开源的。我一直在使用它进行 JVM 分析,它带有不同的插件/扩展来查看不同的报告。
我还尝试与 WebSphere/Tomcat/Liferay 和 Glassfish 服务器集成。事实上,任何启用了 JMX 远程管理功能的 JVM 都会被 Visual VM 识别。
默认情况下,Visual VM 会识别 Sun JVM,但例如它无法识别 IBM JVM。对于任何其他非 Sun JVM,您需要启用 JMX 远程管理功能才能使用 Visual VM 连接到 JVM。
【讨论】: