Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

legareal

macrumors member
Original poster
Sep 15, 2016
50
20
Is someone able to explain why this might be? I have a process running (some internal app) which uses 78% CPU consistently when running on our iMac Pro 8 core machine but 176% CPU consistently when running on our Mac Pro 16 core machine.

What's the point in having double the cores if each instance of this process uses over twice as much resources when run on the Mac Pro?

I'm hoping I'm just missing something obvious here. Thanks!
 
I don't think so, I've checked with Activity Monitor, Xcode & Instruments, all give similar results... 🤔
 
You didn’t provide a lot of information, so it’s just a guess: there is a performance bottleneck on the iMac Pro that isn’t the CPU. Its waiting for ram, disk, gpu, etc and can’t actually utilize more than 76% of a single core.

Another option is a software difference in the environment. Are you running the same binary? The same OS version? Dependency libraries?

There are a lot of possibilities.
 
I noticed this going from my 2015 mba to my 2017 mbp - just typing in certain apps would use 15 to 30% more cpu. Drove me nuts initially but I just ignore it now. Hardly scientific but definitely an observation I made. You’d think these newer CPUs would result in less usage not more.

I noticed this on my XPS desktop as well with a 9700 intel cpu - cpu percentage is off the charts for simple stuff. But it does fly.
 
  • Like
Reactions: OkiRun
I don't think so, I've checked with Activity Monitor, Xcode & Instruments, all give similar results... 🤔

Be _very_ careful using Activity Monitor and Instruments because they are not meant for what you're trying to use them for. They do not account for low power mode on CPUs.

Think about it this way. Your process might consume 50% CPU at 3 ghz. But the CPU might look at that and go "oh, I'm only running at 50% load. I can down clock to conserve power." Then it down clocks to 1.5 ghz and suddenly your process is consuming 100% load.

There is nothing going wrong. Your CPU just chose a lower clock speed because you really aren't pushing the machine very hard. But all your CPU numbers will change, and make it look like the CPU is having a tougher time. But it isn't. Because you didn't give the CPU much to do it down clocked.

CPU % based benchmarking is absolutely worthless and numbers should just be thrown in the trash. You can actually optimize an app and watch the CPU % go up because now the CPU can clock lower. Absolutely worthless measurement.

The only way to measure actual CPU performance well is to do something that loads up the CPU well, and then measure the time it takes the finish the task.

I don't even know why Apple exposes that CPU % number in Xcode but it's not a measurement of anything stable.
 
Be _very_ careful using Activity Monitor and Instruments because they are not meant for what you're trying to use them for. They do not account for low power mode on CPUs.

Think about it this way. Your process might consume 50% CPU at 3 ghz. But the CPU might look at that and go "oh, I'm only running at 50% load. I can down clock to conserve power." Then it down clocks to 1.5 ghz and suddenly your process is consuming 100% load.

There is nothing going wrong. Your CPU just chose a lower clock speed because you really aren't pushing the machine very hard. But all your CPU numbers will change, and make it look like the CPU is having a tougher time. But it isn't. Because you didn't give the CPU much to do it down clocked.

CPU % based benchmarking is absolutely worthless and numbers should just be thrown in the trash. You can actually optimize an app and watch the CPU % go up because now the CPU can clock lower. Absolutely worthless measurement.

The only way to measure actual CPU performance well is to do something that loads up the CPU well, and then measure the time it takes the finish the task.

I don't even know why Apple exposes that CPU % number in Xcode but it's not a measurement of anything stable.

That definitely explains a lot. Thanks for the info! Makes sense.
 
Be _very_ careful using Activity Monitor and Instruments because they are not meant for what you're trying to use them for. They do not account for low power mode on CPUs.

And OP quoted a MacBook vs. iMac. On the iMac, there isn't that much reason to save power. On the MacBook, there is much more reason to save power, because it affects your battery life.

Now take an iPhone XR with two fast processors and four much slower processors. CPU usage might change from 10% (of a fast processor) to 100% (of a slow processor) doing the exact same work, but saving power.
 
That definitely explains a lot. Thanks for the info! Makes sense.

Not quite...

Hmmmm. Perhaps a security mitigation in the newer chip designs? Regarding the finger pointing at Energy efficiency from the CPU... To quote my dad... "That makes as much sense as a screen door on a submarine." If you thinks this is an issue, a utility like Turbo Boost Switcher should be able to debunk a low-power CPU state by disabling it completely.

To clear-up Energy Efficiency on macs. The Energy Efficiency Guide for Mac Apps from developer.apple.com should clear up any misconceptions about the accuracy of activity monitor, etc that may have been communicated. Specifically, the page on 'Monitor and Respond to energy use - Monitor Usage Regularly details the accuracy of Apple's monitoring tools and how that can be accurately used to gauge CPU and resource. usage by an application.
 
Not quite...

Hmmmm. Perhaps a security mitigation in the newer chip designs? Regarding the finger pointing at Energy efficiency from the CPU... To quote my dad... "That makes as much sense as a screen door on a submarine." If you thinks this is an issue, a utility like Turbo Boost Switcher should be able to debunk a low-power CPU state by disabling it completely.

To clear-up Energy Efficiency on macs. The Energy Efficiency Guide for Mac Apps from developer.apple.com should clear up any misconceptions about the accuracy of activity monitor, etc that may have been communicated. Specifically, the page on 'Monitor and Respond to energy use - Monitor Usage Regularly details the accuracy of Apple's monitoring tools and how that can be accurately used to gauge CPU and resource. usage by an application.

I'll be the first to say I don't know. The explanation seemed to make sense, but I don't have "proof" - Thanks for the links you gave. I just know that typing in certain applications can result in 30-40% CPU being utilized and that's just insane. I'm a fast typer, but not that fast. Either app developers have REALLY gotten sloppy on Mac OS over the last 2 years or a MBP says: "Here's the CPU, use all you can as much as you can" unlike my 2015 MBA did.

But I've noticed this on my Windows 10 Coffee Lake Intel 9700 XPS as well. Just typing can utilize a big portion of the CPU whereas I don't remember this happening on previous machines I've owned, but it could just be my inexperience.

Just annoys me that me typing can utilize 30-40% of a modern CPU.

My inexperience says maybe these activity monitors are a lot more accurate these days and just report what older activity monitors didn't?
 
I'll be the first to say I don't know. The explanation seemed to make sense, but I don't have "proof" - Thanks for the links you gave. I just know that typing in certain applications can result in 30-40% CPU being utilized and that's just insane. I'm a fast typer, but not that fast. Either app developers have REALLY gotten sloppy on Mac OS over the last 2 years or a MBP says: "Here's the CPU, use all you can as much as you can" unlike my 2015 MBA did.

But I've noticed this on my Windows 10 Coffee Lake Intel 9700 XPS as well. Just typing can utilize a big portion of the CPU whereas I don't remember this happening on previous machines I've owned, but it could just be my inexperience.

Just annoys me that me typing can utilize 30-40% of a modern CPU.

My inexperience says maybe these activity monitors are a lot more accurate these days and just report what older activity monitors didn't?

It may be helpful to display the CPU history across all cores in Activity Monitor. In this manner you can see how many CPU cores are bring effected.

activity_monitor_cpuhistory_dialog_2x.png
 
  • Like
Reactions: BigMcGuire
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.