我最近收到了一台配备 M1 pro CPU 的 MacBook Pro,它有 2 个“效率”核心和 8 个性能核心。当我运行 htop/btop/top 时,我得到的平均负载 >2,因为进程调度程序总是将某些低需求进程分配给效率核心,这导致这些核心始终以 60% 到 100% 的容量运行。
我觉得 2 个效率核心降低了负载平均指标的效用,而负载平均指标已经由于多个核心而降低了。回到遥远的过去,我们使用单核 CPU,负载平均值具有直观的意义。然而现在我们在一个系统中有 2 种类型的 CPU 核心,而我最近的手机有 3 种不同类型的核心:效率、性能和单个超性能核心。
这样一个新的平均负载应该如何计算呢?是否正在努力重新定义通用系统负载指标?
由于效率核心是为了运行低优先级进程而设计的,因此从默认指标中排除这些进程也许有意义吗?然后将剩余负载值分配给非效率 CPU。
例如,平均负载为 3.4。效率核心减去 2,即 1.4。然后除以性能核心数量,1.4 / 8 = 0.175。