最近我使用Netflix OSS Servo的JvmMetricPoller来监控Web应用程序的CPU使用情况。
在JvmMetricPoller的内部,它使用OperatingSystemMXBean
接口来获取系统指标。
我发现一个奇怪的问题是getSystemCpuLoad()
返回的值通常低于getProcessCpuLoad()
返回的值。
为什么会这样?系统进程的CPU使用率如何高于整个系统的CPU使用率?
我期待的是getSystemCpuLoad()
= getProcessCpuLoad
+所有其他进程的cpu用法。