我需要监控Java进程的性能并自动获取报告。报告应包含有关内存利用率线程使用情况,进程使用情况等的数据。但我不确定如何实现此目的。有什么建议吗?
答案 0 :(得分:1)
我需要监控Java进程的性能并自动获取报告。
您需要确定哪些度量对应用程序的用户很重要,如延迟和吞吐量。即使一切看起来都很好,但这些通常也会受到影响。例如,在5分钟内只有6%忙碌的8个CPU系统可能听起来很不错,除了可能是每5分钟有一个请求超过2分钟。
报告应包含有关内存利用率线程使用情况的数据
默认情况下,线程的一个关键功能是共享对象。这意味着线程本地内存使用几乎总是微不足道的,一般不值得测量。
流程使用等。
这对于长时间的容量规划非常有用,但对查找应用程序特定问题没有用(见上文)。
但我不确定如何做到这一点。有什么建议吗?
确定哪些指标可以帮助您找到影响应用程序用户的问题。
答案 1 :(得分:0)
如果想通过程序获取数据,可以将JMX API用于此目的。以下是关于此主题的oracle教程。
如果您只想监视该过程,可以使用VisualVM等工具。
答案 2 :(得分:0)
VisualVM是一个监控内存利用率和其他事情的好工具VisualVM