People have had a problem with how Windows 11’s Task Manager shows CPU usage stats for a long time. While recent discussions have revolved around the idea that the app only bases its reporting on base clocks, Dave Plummer, the creator of the original Task Manager, explains in a recent video how it might actually be more to do with average calculations and complicated “little lies” and “compromises” in underlying calculations.
Last month, Microsoft announced a fix for this in recent a Preview build for the operating system. The company said: “We are changing the way Task Manager calculates CPU utilization for the Processes, Performance, and Users pages. Task Manager will now use the standard metrics to display CPU workload consistently across all pages and aligning with industry standards and third-party tools.”
After being sent his original source code by Microsoft, Plummer has cast some more light on what’s really going on. And to be honest, the wording from Microsoft would make more sense alongside Plummer’s assessment than a base/boost clock mix-up.
The essential picture that Plummer paints is that Task Manager creates a useful fiction out of more data than we might think to give us our CPU utilisation figure.
One difference between how we might think it operates and how it actually does is regarding the refresh or interval time. CPU utilisation isn’t calculated for each GUI refresh, because this isn’t always reliable.
Instead, the amount of time used for each tick’s calculation is “how much total CPU time was actually accounted for and consumed by all processes between the last sample and this one.”
So that’s the first thing to note: even the time-frame for each measurement isn’t as straightforward as time between GUI refreshes.
The second and main thing to note, however, is that when it comes to the usage calculation, there’s a lot of averaging going on:
“The CPU number in Task Manager is a moving little obituary for the immediate past. It tells you what just happened over the last refresh window, not what happened at the moment that your eyeballs landed on the row.
If the process wakes up, goes berserk for 100 milliseconds, and then goes back to sleep, Task Manager may show a small average or even a rounded zero depending on the refresh window and how much total capacity existed during that interval. That’s not because it missed or didn’t see the work. It’s because it diluted the work over that whole window.”
In other words, “modern CPU usage is more like how full was the freeway rather than how many miles were actually traveled.”
Which to my eyes and ears sounds a bit like the difference between bandwidth and speed. Which made a lot more sense in the past, when there were fewer cores to wrangle and much less frequency variance.
“The old Task Manager,” Plummer says, “was built in an era where the time used was a pretty decent proxy for what work got one. But on today’s processors with dynamic frequency scaling, turbo boost, thermal throttling, and deep idle states, that connection has gotten a lot looser.”
So, when the numbers feel a little slippery, it’s not because the tool is broken so much as the hardware stops being simple enough for a single percentage to tell you the whole story.”
(Image credit: Dave Plummer, Dave’s Garage @ YouTube)
As far as Plummer is concerned—and I suppose he would think as much given it’s concerning his application’s lineage—Task Manager serves its purpose at the cost of pinpoint accuracy. After all, there are plenty of things someone could mean by ‘utilisation’.
“Task Manager’s approach was cheap, fairly robust, and understandable enough for normal humans, which actually matters because a performance tool that requires a graduate seminar before breakfast has already lost the room.”
Plummer has previously said that Windows “really does suck for some people” and has explained how he would fix it. Essentially, he would have a separate Windows mode that you can use if you’re a power user, which removes some guardrails and so on. That might go some way towards retaining Windows users during the current significant minority user migration to Linux which we’re personally witnessing.
Or, there’s always the chance that Microsoft will actually improve Windows 11 like it says it will. I won’t be holding my breath, but you never know.
