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?
What should the CPU usage be of a fully-loaded CPU that has been throttled?
121–130 of 181 posts
Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?
#122Earlier quoted context omitted.
Interesting. Does this mean that if you are not going to use all HT threads it's better to turn off HT?
SMT is usually a throughput win, and usually a latency loss. I was playing with my Threadripper a while back and for C++ builds of large projects, HT results in about a 10% improvement in compilation speed. 10% is a big deal and you should take it. The downside is that games had noticeably lower framerates even with the rest of the CPU idle (at least the games I play are bounded by single-thread performance across ma…
Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?
#123How about another measure, % of CPU TDP? Or some form of TDP measuring. If it is 100% CPU TDP, I know it is pushing as hard as it can.
( But then when your cooling aged you will be running at 100% TDP but at lower clock speed without realising it. )
Thinking about it this simple subject is really complicated.
Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?
#124Earlier quoted context omitted.
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…
> my cpu very quickly hit 99c also at 100% That should never happen and it's ridiculous that we just let manufacturers get way with it.
Prime95 is basically a synthetic workload so it makes little sense to optimize for it.
Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?
#125Another approach may be to take inspiration from the `cpu load` metric on *nix systems and go _above_ 100%. In this example, the CPU usage would be `200%`: The system would like to be doing twice as much as it's currently doing, but something's throttling it. Of course, this opens up other issues with how to aggregate multiple cores, what the benchmark for 'max' should be, etc. Perhaps the more fundamental answer is…
Not following. Linux reports each core as 100%. So an 8 core machine maxes at 800%. So seeing 200 load doesn't indicate to me that it's throttled, but that it's using the equivalent of two full cores. Or did I misunderstand?
It's more of a "pressure" / "need" measurement. And yeah, applying that to per-process CPU measurement would be interesting.
Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?
#126I think we can have more nuance than a choice of 50% or 100%. I fall in the 'Show 100%' camp for sure, showing 50% but not indicating why isn't particularly helpful without knowing the background here. I think a separate indicator for an overall throttling condition would be helpful. Show a 100% usage and a throttle indicator together.
* 100% per core's for the factory target speed (what a CPU is sold to run at non-turbo/boost/whatever)
* turbo / boost displays figures above 100% (per core)
* special fake accounting buckets for not just cpu_idle, but also cpu_powersave, cpu_thermal, etc. Any status caused by yielding or reducing the runable time of that core.
* An additional (does this exist already?) counter of executed instructions, in addition to the run time for each task / thread. On multicore systems this should be recorded for each core the thread can run on. Large NUMA systems might disable, or node restrict, this for obvious reasons.
This would give a clear picture of both the utilization of hardware as a whole, as well in the program context.
Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?
#127Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?
#128Perhaps, the system should report two numbers: the % usage of the CPU overall resources and the % usage of the throttled resources. There is no constraint that one has to use only one number. Perhaps, in 2021, CPUs are complex enough to deserve more than one number to give a useful representation of utilization, as it works with all sorts of factories/plants. Also, who would love to see in the metrics reported CPU us…
Then, implement advanced mode that contains a deeply similar but mildly extended UI. Imagine Office with 1 ribbon tab, cleaned up, vs 3, filled to the brim with choice, tools. In principe, thinking of keeping the diff small but noticeable only slightly, like that.
Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?
#129Power 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.
Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?
#130On OSX, I recall there's a fake "throttled" daemon that reports the CPU usage lost due to thermal throttling. Name is probably wrong but it definitely exists.