【发布时间】:2008-12-11 00:42:23
【问题描述】:
我有一个在 Tomcat 上运行的 Java 应用程序,我想使用 Windows 性能监视器来监控计数器。这是否可以使用 Java MBean 的 JMX 适配器或通过其他方式实现?
【问题讨论】:
我有一个在 Tomcat 上运行的 Java 应用程序,我想使用 Windows 性能监视器来监控计数器。这是否可以使用 Java MBean 的 JMX 适配器或通过其他方式实现?
【问题讨论】:
由于您使用 JMX 和 MBean 标记了它,我假设您的计数器可以从 Java MBean 访问。如果是这样,您可以使用随 Java SDK 提供的 jconsole 来监控计数器。在 MBeans 选项卡中找到您的 MBean 后,双击该值,它将绘制一个漂亮的折线图以便于监控。
请参阅JConsole Guide 了解更多信息。
【讨论】:
以下教程可能有用: http://www.developer.com/java/ent/article.php/3087741/Hooking-to-PerfMon-from-Java.htm
它显示了 Java 应用程序如何定义可以在 Perfmon 中监视的自定义计数器。它基本上归结为使用性能监视器的扩展 DLL 并通过内存映射文件与之通信。然后,您可以将您的 JMX 计数器挂接到类似的机制中,以便可以从 Perfmon 监视它们。
【讨论】:
这似乎正是您正在寻找的,但它不是免费的: http://www.adventnet.com/products/snmpadaptor/faqs/general.html
【讨论】:
如果您想以编程方式执行此操作,您可以创建一个到机器的 JMXConnection,然后从那里访问 MBean。我们自己做了一个函数测试,该测试涉及跟踪应用程序中的线程数,您可以通过 JMX 访问该计数器。如果你想要漂亮的图表和类似的东西,我建议使用 JConsole,如上所述。还有一个名为JProfiler 的程序,基本上就像类固醇上的JConsole 一样工作。有免费试用版,您可以尝试一下。
【讨论】:
article 概述了如何从 Java 访问 Windows PerfMon 统计信息并通过 JMX 将它们公开为 MBean 属性。
【讨论】: