2011-06-01 30 views
4

我一直在努力获取像CPU,内存,网络I/O,使用JMX的磁盘I/O等系统测试。如何通过JMX获取网络I/O和磁盘I/O

  • 对于CPU我已经使用了函数OperatingSystemMXBean.getSystemLoadAverage()并且获得了CPU的负载。

  • 对于内存我已经使用了函数OperatingSystemMXBean.getTotalPhysicalMemorySize()和OperatingSystemMXBean.getFreePhysicalMemorySize()。

有没有通过JMX获取网络I/O和磁盘I/O的功能?

回答

4

大多数虚拟机(全部?)不公开该数据。您需要使用像sigar这样的库(源代码为github),它可以收集这些值,然后通过JMX公开sigar的返回值。

我们在http://rhq-project.org/

0

使用SIGAR成功我发现SIGAR API将轻松获得系统指标。