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

EugW

macrumors P6
Original poster
Jun 18, 2017
15,151
13,119
I am curious, when Activity Monitor says 100% CPU usage for a process, how does that work on Apple Silicon? I believe it means one CPU core is maxed out, but how do we tell which type of core?

Currently, Activity Monitor is indicating photoanalysisd is using 100% CPU, but overall idle is 75-88% with a few other applications running. Does Activity Monitor treat each core equally as "100%" regardless if it's a performance core or efficiency core? Does photoanalysisd just use one efficiency core?
 
I'm basing my answer on what I think I remember reading at eclecticlight.co ...

Does Activity Monitor treat each core equally as "100%" regardless if it's a performance core or efficiency core?
In the main display for Activity Monitor, I think the answer is "yes." However, you can choose Activity Monitor-->Window-->CPU Usage and I think that shows a chart for each core, with labels for "P" or "E" cores. So you can see how busy the two types of cores are, but not which exact processes are on them.

The 100% number indicates residency on a CPU core. That is, that the process has been active (on some core) for 100% of the last time interval. My understanding is that it could have been partly on an "E" core and partly on a "P" core.

Does photoanalysisd just use one efficiency core?
I would expect photoanalysisd to use only efficiency cores. It isn't a user-interactive process, and it just makes sense to me as a background task. It also wouldn't surprise me if it's single-threaded code and so could only use one core. But, I don't really know.

Have fun delving into the interesting but arcane process scheduling of macOS! I haven't bothered to find the particular blog posts, but there are quite a lot on the subject at the website I linked above.
 
  • Like
Reactions: gilby101 and EugW
If you want to see which CPU cores are busy you'll can use powermetrics(1) in Terminal.app or the CPU Usage from Activity Monitor than @Brian33 mentioned.

The 100% is a bit strange, Unix systems including macOS usually count 100% as the sum of all CPUs when looking at system wide statistics, and 100% as being one maxed out core when looking at per process numbers.

On a hypothetical quad core system with one application maxing out two of the four cores you'd have 50% system load with the application at 200%.
 
  • Like
Reactions: gilby101 and EugW
The 100% is a bit strange, Unix systems including macOS usually count 100% as the sum of all CPUs when looking at system wide statistics, and 100% as being one maxed out core when looking at per process numbers.
It looks like it says 100% is the sum at the bottom summary, but for each process it's 100% of the core. But it's still confusing to me because it doesn't say what type of core.

I would expect photoanalysisd to use only efficiency cores.
That does make sense. I'll assume that.

I'm basing my answer on what I think I remember reading at eclecticlight.co ...
Thanks, and I'll check out that site too.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.