【问题标题】:Java app performance counters viewed in Perfmon在 Perfmon 中查看的 Java 应用程序性能计数器
【发布时间】:2008-12-11 00:42:23
【问题描述】:

我有一个在 Tomcat 上运行的 Java 应用程序,我想使用 Windows 性能监视器来监控计数器。这是否可以使用 Java MBean 的 JMX 适配器或通过其他方式实现?

【问题讨论】:

    标签: jmx perfmon mbeans


    【解决方案1】:

    由于您使用 JMX 和 MBean 标记了它,我假设您的计数器可以从 Java MBean 访问。如果是这样,您可以使用随 Java SDK 提供的 jconsole 来监控计数器。在 MBeans 选项卡中找到您的 MBean 后,双击该值,它将绘制一个漂亮的折线图以便于监控。

    请参阅JConsole Guide 了解更多信息。

    【讨论】:

    • 是的,可以从 MBean 访问计数器。我希望能够在性能监视器中查看计数器,因为这是我们的 NOC 已经用来监视其他计数器并且熟悉的。添加一个新的控制台来监控应用程序将是一项艰巨的任务。谢谢,乔恩
    【解决方案2】:

    以下教程可能有用: http://www.developer.com/java/ent/article.php/3087741/Hooking-to-PerfMon-from-Java.htm

    它显示了 Java 应用程序如何定义可以在 Perfmon 中监视的自定义计数器。它基本上归结为使用性能监视器的扩展 DLL 并通过内存映射文件与之通信。然后,您可以将您的 JMX 计数器挂接到类似的机制中,以便可以从 Perfmon 监视它们。

    【讨论】:

      【解决方案3】:

      这似乎正是您正在寻找的,但它不是免费的: http://www.adventnet.com/products/snmpadaptor/faqs/general.html

      【讨论】:

      • 此适配器使 MBean 可以通过 SNMP 访问。我正在浏览该站点,但我没有看到直接在 Windows 性能监视器中查看它们的方法。谢谢!乔恩
      【解决方案4】:

      如果您想以编程方式执行此操作,您可以创建一个到机器的 JMXConnection,然后从那里访问 MBean。我们自己做了一个函数测试,该测试涉及跟踪应用程序中的线程数,您可以通过 JMX 访问该计数器。如果你想要漂亮的图表和类似的东西,我建议使用 JConsole,如上所述。还有一个名为JProfiler 的程序,基本上就像类固醇上的JConsole 一样工作。有免费试用版,您可以尝试一下。

      【讨论】:

        【解决方案5】:

        article 概述了如何从 Java 访问 Windows PerfMon 统计信息并通过 JMX 将它们公开为 MBean 属性。

        【讨论】:

          猜你喜欢
          • 2014-04-23
          • 2010-10-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-12-06
          相关资源
          最近更新 更多