Spring Boot actuator system.cpu.count 指标和 system.cpu.usage 指标之间的关系
Relationship between SpringBoot actuator system.cpu.count metric and system.cpu.usage metric
只是想从 SpringBoot 2.3.1 执行器指标端点获得关于 system.cpu.count 指标和 system.cpu.usage 指标之间关系的一些说明。
例如,在我的例子中:
/actuator/metrics/system.cpu.count的值为:2
/actuator/metrics/system.cpu.usage的值为:0.024765603908878
这是否意味着我的 cpu 利用率是:0.024765603908878 / 2 * 100 = 1.24%?
这些指标在 Spring Micrometer 的引导中提供,特别是 Micrometer 的 ProcessorMetrics
。查看其来源,我们可以了解到 system.cpu.count
由 java.lang.Runtime.availableProcessors()
支持,system.cpu.usage
由 com.sun.management.OperatingSystemMXBean.getSystemCpuLoad()
支持。查看这些方法告诉我们:
system.cpu.count
是 JVM 可用的 CPU 的数量。
system.cpu.usage
是一个介于 0.0 和 1.0 之间的值,其中值 0.0 表示所有 CPU 在最近观察到的时间段内都处于空闲状态,而值 1.0 表示所有CPU 在最近观察期间,运行 100% 的时间都是活跃的。
您的值为 0.025 表示 CPU 利用率是其总容量的 2.5%。因为你有两个 CPUs,这可能是一个 CPU 运行 在 5%,另一个在 0%,两个 CPUs 运行 在 2.5% ,或两者之间的任何其他组合。
只是想从 SpringBoot 2.3.1 执行器指标端点获得关于 system.cpu.count 指标和 system.cpu.usage 指标之间关系的一些说明。
例如,在我的例子中:
/actuator/metrics/system.cpu.count的值为:2
/actuator/metrics/system.cpu.usage的值为:0.024765603908878
这是否意味着我的 cpu 利用率是:0.024765603908878 / 2 * 100 = 1.24%?
这些指标在 Spring Micrometer 的引导中提供,特别是 Micrometer 的 ProcessorMetrics
。查看其来源,我们可以了解到 system.cpu.count
由 java.lang.Runtime.availableProcessors()
支持,system.cpu.usage
由 com.sun.management.OperatingSystemMXBean.getSystemCpuLoad()
支持。查看这些方法告诉我们:
system.cpu.count
是 JVM 可用的 CPU 的数量。system.cpu.usage
是一个介于 0.0 和 1.0 之间的值,其中值 0.0 表示所有 CPU 在最近观察到的时间段内都处于空闲状态,而值 1.0 表示所有CPU 在最近观察期间,运行 100% 的时间都是活跃的。
您的值为 0.025 表示 CPU 利用率是其总容量的 2.5%。因为你有两个 CPUs,这可能是一个 CPU 运行 在 5%,另一个在 0%,两个 CPUs 运行 在 2.5% ,或两者之间的任何其他组合。