如何监控Java进程的性能?

时间:2012-12-05 04:23:12

标签: java performance monitoring health-monitoring

我需要监控Java进程的性能并自动获取报告。报告应包含有关内存利用率线程使用情况,进程使用情况等的数据。但我不确定如何实现此目的。有什么建议吗?

3 个答案:

答案 0 :(得分:1)

  

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

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

  

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

默认情况下,线程的一个关键功能是共享对象。这意味着线程本地内存使用几乎总是微不足道的,一般不值得测量。

  

流程使用等。

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

  

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

确定哪些指标可以帮助您找到影响应用程序用户的问题。

答案 1 :(得分:0)

如果想通过程序获取数据,可以将JMX API用于此目的。以下是关于此主题的oracle教程。

如果您只想监视该过程,可以使用VisualVM等工具。

答案 2 :(得分:0)

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