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

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

>对于CPU,我使用了函数OperatingSystemMXBean.getSystemLoadAverage()并获得了CPU的负载.
>对于Memory,我使用了函数OperatingSystemMXBean.getTotalPhysicalMemorySize()和OperatingSystemMXBean.getFreePhysicalMemorySize().

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

解决方法:

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

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

上一篇:java – 在Apache Tomcat应用程序中,MBean字段是否需要易失/同步才能使JMX更新出现在其他线程中?


下一篇:Linux下执行jmeter脚本