Live data from Hacker News

What should the CPU usage be of a fully-loaded CPU that has been throttled?

devblogs.microsoft.com

71–80 of 181 posts

Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?

#71
post #11

A key problem with this proposal is that modern CPUs do not have a single definitive maximum frequency. You have the base frequency which is rarely relevant outside of synthetic workloads then you have a variety of turbo frequencies which interact in complex ways. AMD's latest CPUs don't even have clear upper bounds on their frequency scaling logic. It's a big black box and the results can vary depending on the workl…

By this proposal's logic, it would make total sense for processes on a boosting CPU core to report more than 100% cpu usage.

Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?

#72
post #61

Earlier quoted context omitted.

>Utilization should be relative to the maximum frequency the CPU could be running the same instructions at How do you define "maximum frequency"? For desktops it's relatively easy to define since they usually have good cooling and power delivery that they can always hit the top frequency, but for laptops this often doesn't apply. It might be only able to sustain top frequency for less than a minute before thermal thr…

Whatever frequency it could execute the next cycle at, assuming there was no desire to minimize power usage. It's a transient measure, not a steady-state measure.

This will cause the system to vastly under-report % values during periods of low load, because the processor thinks it can run at a higher frequency than it can actually achieve/sustain. This is most notable on laptop processors. If I enable "high performance" mode on windows, it would cause the processor to run at its max possible frequency, around 4.1 GHz (which is near the theoretical max turbo frequency) when there's little to no load. However, when there's actual load (eg. 1 core fully loaded), the frequency would drop to around 3.5 GHz. It would get worse as more cores get loaded, all dropping all the way down to 2.3ghz.

Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?

#74
post #11

A key problem with this proposal is that modern CPUs do not have a single definitive maximum frequency. You have the base frequency which is rarely relevant outside of synthetic workloads then you have a variety of turbo frequencies which interact in complex ways. AMD's latest CPUs don't even have clear upper bounds on their frequency scaling logic. It's a big black box and the results can vary depending on the workl…

CPU usage is an incredibly complex metric that doesn't really explain what is actually going on. I noticed while running a benchmark I can get my CPU to 50c and 100% usage and it stays steady like that. But then I tried prime95 and my cpu very quickly hit 99c also at 100%. Likely the different benchmarks were both running as fast as they can but the prime95 one ran on a faster part of the cpu which could generate mor…

i think you could prove that on linux by getting the number of instructions run. I think perf has a way of getting that info for you. not sure if windows has something simmilar

Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?

#75
post #72

Earlier quoted context omitted.

Whatever frequency it could execute the next cycle at, assuming there was no desire to minimize power usage. It's a transient measure, not a steady-state measure.

This will cause the system to vastly under-report % values during periods of low load, because the processor thinks it can run at a higher frequency than it can actually achieve/sustain. This is most notable on laptop processors. If I enable "high performance" mode on windows, it would cause the processor to run at its max possible frequency, around 4.1 GHz (which is near the theoretical max turbo frequency) when the…

What problem would this cause to me as a user, though? It sounds fine to me.

Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?

#76
post #64
post #10

When the OS has asked the CPU to slow down to more closely match the performance currently required by the software, then it is somewhat misleading to report that an application is using 90+% of the CPU time, even if the CPU is actually spending 90+% of its time running that application. However, when the CPU's speed has been reduced because it's too hot or the system is otherwise unable to allow the processor to sus…

> However, when the CPU's speed has been reduced because it's too hot … Maybe just measure overall system load as current CPU temperature as a percentage of maximum?

That's a decent method for some purposes, though it's not without its own flaws. For systems using integrated graphics or any laptop, the CPU's thermals are intertwined with the GPU's. You may also have a workload that sends a CPU core to its highest stable clock speed and safe voltage, but is still cooled well enough that the CPU doesn't get close to its temperature limits. Or you could have a situation where the CPU can tolerate a higher temperature, but it has to throttle so as not to burn the user because a fair chunk of that heat is being conducted up through the keyboard and down into the lap.

Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?

#78
post #19

Power saving and "throttling" (usually it's un-turboing) are different cases that shouldn't be conflated; in one case the processor could run faster but in the other it can't. Ultimately we may want different metrics depending on what they're going to be used for. If you calculate relative to base frequency you will get utilization over 100% which is going to confuse some people. Linux has done some work in this area…

MacOS has a weird solution to throttling. They put a fake process in the process list which looks like it consuming x% of the resources but really it is just blocking some usage to allow the CPU to cool.

kernel_task is "real", but yeah, part of its responsibility is issuing NOOPs for thermal control: https://github.com/apple/darwin-xnu/blob/main/osfmk/kern/thr...

Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?

#80
post #72

Earlier quoted context omitted.

This will cause the system to vastly under-report % values during periods of low load, because the processor thinks it can run at a higher frequency than it can actually achieve/sustain. This is most notable on laptop processors. If I enable "high performance" mode on windows, it would cause the processor to run at its max possible frequency, around 4.1 GHz (which is near the theoretical max turbo frequency) when the…

What problem would this cause to me as a user, though? It sounds fine to me.

At 5% load, you might think there's 95% capacity to spare, but really it's actually something closer to 65%.
Post reply on HN