监控Java系统资源使用情况

5
我正在尝试准备一些统计数据,了解在运行于Windows XP机器上的Java应用程序的CPU和内存使用情况(随时间变化)。是否有一个(免费)工具可以让我获取这些统计数据?我看过的大多数工具都会为CPU和堆使用情况分析现有代码-但不提供从系统角度查看进程本身的视图。我尝试使用IBM Performance Analysis Tool for Java,但它似乎没有提供确定进程消耗的内存量的简单度量标准(类似于ProcessExplorer工具)。任何指针都将不胜感激。祝好, Dinuk

1
这个网址https://dev59.com/3HVD5IYBdhLWcg3wI3-L有用吗? - Brian Agnew
6个回答

2

我强烈建议您使用像Hypericzenos这样的工具。这些工具可以通过安装在系统上的代理、通过JMX MBeans或SNMP来监视Java应用程序。


1

你可以尝试使用Windows自带的perfmon工具。


实际上,我提到的IBM性能分析工具确实涉及在PerfMon工具中设置计数器。也许我没有正确配置计数器,但大多数可用的内存统计信息都与分页速率和虚拟内存使用有关。 - Dinuk
在 PerfMon 上还有 CPU 使用率监视器。 - Shimi Bandiel

1

Sigar可能提供您所需的内容


0

是的,我确实考虑过使用Netbeans分析器,但除非我弄错了,这些分析工具只提供相对的CPU使用统计数据(即消耗的CPU周期中,哪些线程、方法或代码片段消耗了最多的CPU和内存),并没有提供关于机器本身实际资源消耗的概述。 - Dinuk

0

如果您的操作系统是Windows XP 32位或64位,则最佳选择是JNI包装器。

JNI包装器和评估密钥可在此处获得一个月/试用版。这很容易配置(有文档可用),并且可以提供有关特定进程的所有信息(工作集,页面文件,内存详细信息,CPU信息等)。

Perfmon在Vista操作系统上表现良好。


0
你是想要“监控”还是“分析”呢? 对于监控方面,也可以使用Jopr(http://www.jboss.org/jopr/)。
一般来说,你应该考虑到测量间隔越短,对目标资源的负载就越大。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接