Live data from Hacker News

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

devblogs.microsoft.com

1–10 of 181 posts

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

#4
> Another theory is that this should report 50% CPU usage, because even though that CPU-intensive program is causing the CPU to consume all of its available cycles, it is not consuming all off the cycles that are potentially available.

if they would be available wouldnt the CPU scaling kickin and ramp up the frequency as required? i think in this case it should really show up as 50%...

otherwise its somewhat similar to battery charge status... apparently nobody wants to know what percentage of the initial full capacity is left but just how much is left from what is potentially available... so in a low power state were throttling is done permanently at some frequency i would just like to know how much capacity is actually left...

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

#5
I think Apple's approach of attributing the capacity not available due to throttling (or various other reasons) to kernel_task might be the best. You can tell something is eating cpu, stuff isn't just stuck at 50% while the rest of the system looks idle.

Although then you have users trying to figure out how to kill kernel_task, which isn't great either...

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

#6
post #4

> Another theory is that this should report 50% CPU usage, because even though that CPU-intensive program is causing the CPU to consume all of its available cycles, it is not consuming all off the cycles that are potentially available. if they would be available wouldnt the CPU scaling kickin and ramp up the frequency as required? i think in this case it should really show up as 50%... otherwise its somewhat similar…

The CPU may not be able to scale up the frequency to "100%" at that time due to factors that cannot be overridden, like a high-temp situation.

The problem is what is 100% when CPUs have gotten so complex around the frequency. What's the absolute reference, the base frequency, the single core turbo, the multi core turbo, overclock, AVX?

For batteries you usually get 2 estimates, a capacity percentage of the total practically possible, and one for how much usage you can get out of that based on recent or estimated usage.

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

#8
post #5

I think Apple's approach of attributing the capacity not available due to throttling (or various other reasons) to kernel_task might be the best. You can tell something is eating cpu, stuff isn't just stuck at 50% while the rest of the system looks idle. Although then you have users trying to figure out how to kill kernel_task, which isn't great either...

Yeah until I learned how to see the throttling with “pmset -g thermlog” I didn’t realize I was throttling so much.

I feel that should be made clear on the various CPU usage utilities.

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

#9
post #5

I think Apple's approach of attributing the capacity not available due to throttling (or various other reasons) to kernel_task might be the best. You can tell something is eating cpu, stuff isn't just stuck at 50% while the rest of the system looks idle. Although then you have users trying to figure out how to kill kernel_task, which isn't great either...

That’s actually an awesome idea, just create a virtual "cpu_throttling" task and attribute the throttling to this task.

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

#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 sustain its full clock speed, you absolutely should see the Task Manager reporting 100% utilization. This scenario is what more often comes to mind when the term "throttled" is used.

If a hardware platform's power management capabilities make it impractical for the operating system to satisfy both of the above goals, then it should favor the latter goal, and err on the side of not lying to the user when your system is truly operating at its limits.

Post reply on HN