【问题标题】:How do I go about monitoring the performance of a Java process?如何监控 Java 进程的性能?
【发布时间】:2012-12-05 04:23:11
【问题描述】:

我需要监控 Java 进程的性能并自动生成报告。报告应包含有关内存利用率线程使用情况、进程使用情况等的数据。但我不确定如何完成此操作。有什么建议吗?

【问题讨论】:

  • 为了将来参考,SeaLion 是一个很好的工具,如果它只是你想做的监控。

标签: java performance monitoring health-monitoring


【解决方案1】:

我需要监控 Java 进程的性能并自动生成报告。

您需要确定哪些指标对应用程序的用户很重要,例如延迟和吞吐量。即使一切看起来都很好,这些也经常受到影响。例如,一个 8 cpu 系统在 5 分钟内只有 6% 的繁忙可能听起来不错,但可能每 5 分钟有一个请求需要超过 2 分钟。

报告应包含有关内存使用线程使用情况的数据,

线程默认共享对象的一个​​关键特性。这意味着线程本地内存使用几乎总是微不足道的,通常不值得衡量。

进程使用等

这对于长时间的容量规划很有用,但对于查找特定于应用程序的问题没有用(见上文)。

但我不确定如何做到这一点。有什么建议吗?

找出哪些指标可以帮助您发现影响应用程序用户的问题。

【讨论】:

    【解决方案2】:

    如果您想通过程序获取数据,您可以为此使用 JMX API。这是oracle关于这个主题的教程。

    如果你只是想监控进程,有VisualVM之类的工具。

    【讨论】:

      【解决方案3】:

      VisualVM 是一个很好的工具来监控内存利用率和其他事情VisualVM

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-08-14
        • 2013-04-18
        • 2011-02-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-06
        相关资源
        最近更新 更多