How should Load Average be calculated on a CPU with Efficiency Cores?
0
votes
1
answer
688
views
I recently received a MacBook Pro with an M1 pro CPU, which has 2 "efficiency" cores and 8 performance cores. When I run htop/btop/top I get a load average of >2 because the process scheduler always assigns certain lower-demand processes to the efficiency cores, which results in those cores always running at 60 to 100% capacity.
I feel like the 2 efficiency cores reduce the utility of the load average metric, which was already reduced due to multiple cores. Back in the dim, distant past we had single core CPUs that the load average made intuitive sense on. However now we have 2 types of CPU core in a single system, and my most recent phone has 3 different types of core: efficiency, performance, and a single ultra performance core.
How should such a new load average be calculated? Are there any ongoing efforts to redefine a general system-load metric?
Since efficiency cores are made to run low priority processes, perhaps excluding those from the default metric makes sense? Then divide the remaining load value among the non-efficiency CPUs.
For instance, a load average of 3.4. Subtract 2 for the efficiency cores, 1.4. Then divide by the number of performance cores, 1.4 / 8 = 0.175.
Asked by acjca2
(310 rep)
Nov 1, 2023, 03:09 PM
Last activity: Nov 1, 2023, 08:07 PM
Last activity: Nov 1, 2023, 08:07 PM