3 ms·
I think it would be useful in many scenarios. For example if I am running at near cores*100% I may think my system or fully loaded (or overloaded). But if those
by kevincox 2y ago
I think it would be useful in many scenarios. For example if I am running at near cores*100% I may think my system or fully loaded (or overloaded). But if those cores are running at a low frequencies because there isn't actually any overload I would want to know that. Because in this case if I spawn twice as many tasks and have twice as much throughput while the CPU% doesn't change that seems confusing.
I think if I had to pick a single number for reporting CPU usage it would be percent of available throughout. Although this has complications (the max frequency will depend on external conditions like temperature). But 0% would mean "no runnable tasks" and 100% would mean that the CPUs are running at the maximum currently available speed. The values in-between would be some sort of approximation but I think that is fine.
- necovek 2y agoIt would be valuable to know that, but that also means knowing the power profile, cooling capability etc. In general, understanding how much "compute capacity" you still have left is very much an experimental science with modern CPUs. As an example of what I mean, MacBook Airs had exactly the same cores as MacBook Pros (up to 13" Pros iirc), but while you could max out one or two cores on both (and get "200% usage" that is comparable), going past that would mean entirely different things due to one being passively cooled. With x64 platforms, TDP discussion is even more relevant even without getting to ARMs big.SMALL or Intel's P/E core distinction.
- necovek 2y agoI knew something was off with "big.SMALL" and it's because it's really "big.LITTLE" (though not used very much nowadays as a moniker, it was prominent around a decade ago when it was being introduced into the market).