7 ms·
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
by foobar33333 5y ago
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 more heat and does not get stuck waiting on memory or other slow ops.
- tayo42 5y agoi 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
- waterhouse 5y agoHmm, different workloads will have different mixes of instructions, which will take very different amounts of time per instruction (e.g. a chain of uncached memory lookups vs a tight loop of register-register arithmetic). If you had two instances of the same workload, and one was throttled, then yes, you could compare instructions per unit time. But comparing prime95 vs the other benchmark is likely misleading.
- tayo42 5y agoYeah that would be the thing to prove that prime95 is going through more instructions so the cpu runs hotter
- waterhouse 5y agoI see. But I expect that some instructions cost more (i.e. generate more heat) than others. Someone mentions AVX instructions, for example; presumably 1 million AVX-512 fused-multiply-add instructions cost a lot more than 1 million loads (we can probably arrange for the right proportion of loads to hit a CPU cache vs. go to main memory, so that they end up taking the same time). Even without AVX, I imagine things like 64-bit integer divisions or CRC32 instructions cost more than loads or stores, though I don't know by how much.
- tayo42 5y agooh that makes sense, i guess that would be another aspect to measure
- Godel_unicode 5y agoSounds like you're actually comparing your CPU in avx mode vs not. This is a common source of this type of behavior, avx is insanely power hungry.
- zamadatix 5y agoCPU usage calculation can be (mainly) broken down into "percentage time spent not idle due to program" vs "percentage of max performance used by program". The former is usually what an end user cares about and measures the amount a program is hogging the system. The latter is usually what a programmer wants to know to see how optimized the program is. Both are extremely complex with a lot of nuance after that but the "percentage time spent not idle due to program" type this article refers to tends to be simpler than trying to figure out cache/mode switches/instruction level parallelism/instructions per clock per type/and so on on top of everything you need to figure out in the first case anyways.
- bserge 5y ago> 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.
- KingMachiavelli 5y agoWhy? 100c is typically the max nominal safe operating temp for CPUs. It would be a waste of resources to add additional cooling to computers not intended to run these type of workloads. Prime95 is basically a synthetic workload so it makes little sense to optimize for it.
- gear54rus 5y agoHow did you determine that 100c is safe?
- icefo 5y agoThe manufacturer did and put it in the datasheet of the CPU
- j605 5y agoIn extension to what the other commenter said, critical temperature that is listed is usually higher than the maximum operating temperature so it is safe to run at the maximum.
- bserge 5y agoIt is safe only because it throttles heavily. Shutdown temperature is just 5 degrees higher btw. At 100 the processor is at high risk of damage, which is why there's a built-in throttling mechanism. Just imo, if it was safe it would be running at full speed (or at least max base clock) at that temperature. As someone else said, they're made for burst operation these days, but again, that does not excuse manufacturers using subpar cooling. I can see the majority is fine with it, but I'm not. A 15-25% failure rate in 2 years would make any other product a rotten lemon. But somehow it's acceptable for computers. Probably because people replace them every 2 years regardless, which is another insanity on its own.
- matheusmoreira 5y agoI've found that CPU temperature is an extremely useful way to measure load on the system. All of my computers mine cryptocurrency in the background. I used cgroups to limit their CPU usage, tuning the parameters until the CPU temperature reached acceptable levels. Sometimes I also observe huge spikes in temperature when I do random things. Scrolling certain javascript-heavy pages causes my temperature readings to briefly spike all the way up to 90 °C!