如何通过JMX获取网络I / O和磁盘I / O.

时间:2011-06-01 06:14:07

标签: java jmx

我一直致力于使用JMX获取CPU,内存,网络I / O,磁盘I / O等系统逻辑。

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

  • 对于Memory,我使用了函数OperatingSystemMXBean.getTotalPhysicalMemorySize()和OperatingSystemMXBean.getFreePhysicalMemorySize()。

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

2 个答案:

答案 0 :(得分:4)

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

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

中使用了sigar并取得了成功

答案 1 :(得分:0)

我发现SIGAR API可以轻松获得系统指标。