gpt4 book ai didi

java - 在 Java (linux) 中获取一段时间内的平均系统 CPU 使用率

转载 作者:太空宇宙 更新时间:2023-11-04 12:26:19 26 4
gpt4 key购买 nike

我基本上想要 com.sun.management.OperatingSystemMXBean.getSystemCpuLoad() 的结果在一个时间间隔内平均,比如 60 秒。

java.lang.management.OperatingSystemMXBeangetSystemLoadAverage(),但是根据我的阅读,它获取的是“CPU 负载”而不是“CPU 使用率” , 计算方式不同。

是否有某种预先存在的 API 可以获得我想要的东西,还是我必须自己实现它?

最佳答案

如果您希望平均值在任何方面都有意义,它需要是某个大于 1 的数据集的平均值。

定期查询系统当前的 CPU 负载,例如每秒一次,并将随时间推移的每个查询的结果保存在某种集合中,例如数组。

之后,您可以获得数组中最新 60 个条目的平均值,这将是您在过去 60 秒内的平均 CPU 负载(精度为 1 秒)。

如果您不知道如何计算平均值,那就是average = sum_of_elements_values/number_of_elements

如果您想要某种形式的“绝对”精度,而不是 1 秒的精度,所有不同的是您必须查询每个 CPU 周期。

关于java - 在 Java (linux) 中获取一段时间内的平均系统 CPU 使用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44510589/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com