我一直在努力使用JMX获得诸如CPU,内存,网络I / O,磁盘I / O之类的系统特性。

  • 对于CPU,我使用了函数OperatingSystemMXBean.getSystemLoadAverage()来获取CPU的负载。
  • 对于内存,我使用了函数OperatingSystemMXBean.getTotalPhysicalMemorySize()和OperatingSystemMXBean.getFreePhysicalMemorySize()。

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

    最佳答案

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

    我们在http://rhq-project.org/中成功使用sigar

    10-08 07:33
    查看更多