Macbook Pro M1Max (with 10 Cores) always at near 100% on efficiency cores (2 cores)

Earlier this year, someone else had a similar question for their M1 Pro based MacBook Pro but that thread is now locked.

Macbook Pro M1Pro always at 100% on effic… - Apple Community


I wouldn't say that my OS is overly slow but with Apple Silicone having been out for three years now, it seems like our applications sill haven't been well optimized to handle the big.LITTLE architected CPUs in these Macs.


I've been monitoring my CPU performance for a while now via htop when running multi-threaded workloads. I often run both Fusion virtualized ARMv8 machines (Ubuntu & SonicOSX NSvs) as well as QEMU emulated x86-64 VMs (Ubuntu and other Linux Distros). Other than that, I use the Office365 platform (Outlook & Teams), Messages, Notes, Microsoft Edge, and several terminal sessions. Those apps aren't usually all running at the same time but occasionally most of them might be simultaneously.


That all said, when I do need a lot of apps running simultaneously, and I'm doing so via multiple desktops, MacOS handles that very well. The system doesn't crash or anything and apple's ability to prioritize the app that you're actively using works really well to make the system 'feel' more usable. They've done a good job with that.


That said, I still find that the app core distribution isn't great, and I'm sure that some of this comes down to the developer but Apple deserves some of the blame too. After all, they are the company that develops all of the language interpreters that developers rely on the develop and support their apps natively in Apple silicon!


I often find that even at idle, which I'll define idle as:

  1. A machine with three or less apps open in the dock with a maximum of one window per app
  2. No more than four helper programs running in the background (IE: drivers and other 3rd-party middleware that may park themselves in the menu bar)
  3. The machine is signed-in, at "rest", and is not actively compiling, converting, rendering, etc... anything by the user
  4. The machine is connected to power (96W USB-C or 140W MagSafe3).

In such a case as defined above in idle, my Mac's efficiency cores (Core 0 & 1) operate at around 60% utilization. The performance cores are barely touched. Cores 2 & 3 may get to 10% and 5% respectively, but the rest of the cores will run at 1% or 0%. The Mac's fan speed (monitored by TG Pro) is at 15% or they're off. In this case, I would say that the core utilization is great. There are multiple apps running, the machine isn't doing any challenging, and its handling all required tasks to this point with minimal resource allocation and utilization. Great!

MacBook Pro (M1, 2020)

Posted on Sep 16, 2024 1:05 AM

Reply

Similar questions

2 replies

Sep 16, 2024 1:13 AM in response to BrianB96

Now let's crank up the demand up a bit. Let's define a busy machine as:

  1. All of the processes mentioned above at idle.
  2. A machine with at least two desktop "Spaces" and two full screen browser sessions.
  3. The browser has at least 15 tabs open, two of which may have media, such as videos or music.
  4. One virtual machine is running (2 cores) but that virtual machine is ARMv8 architecture (virtually identical to Apple Silicone as far as CPU instruction set compatibility goes)
  5. The machine is still plugged into power.


When the machine is busy, I'll see the efficiency cores (Core 0 & 1) rise to 80 to 100% utilization and slightly higher utilization on cores 2 & 3, and perhaps the machine is just starting to ask more of cores 4 or 5. Yet still, the rest of the cores are nearly idle. The fan speed is at 35% or off.


I can understand the machine still attempting to execute everything asked of it with the minimal amount of hardware resources necessary, but at this point, it comes at the cost of performance. The virtual machine may start to studder since its waiting on IO from the CPU. The browser tabs each take a bit longer to load. Also, at this point, file transfer speeds slow down, even when I'm copying/moving a file off of my Mac's internal SSD to an external TB4 SSD based on PCIEGen4. The CPU should have plenty of IO available, but it's cramming as much as possible on its efficiency cores. However, the machine is configured for high performance and is plugged in, so you'd expect it to unlock the performance available via the remaining performance cores. However, it does not.


Now let's define the final use case, a semi-loaded machine.

  1. This use case will have all of the apps and processes of the idle and busy use cases
  2. Except that the virtual machine hypervisor process will be ended and replaced by a virtual machine emulation process, which is much more intensive to run.
  3. An emulated VM (Ubuntu 24.04 LTS X86-64) is running but is not processing anything by command of the user.


In the semi-loaded use case, we'll finally start to see more utilization distributed amongst the remaining performance cores, but they are nowhere near fully utilized. The average CPU utilization on the Mac jumps between 17% and 22%. The fan speed rests between 20% and 50%. Other processes on the Mac are noticeable slower, but definitely still usable.

Sep 16, 2024 1:15 AM in response to BrianB96

Finally, we have the fully-loaded use case. This is the only use case where the CPU utilization will rise closer to an overall average of 100%, or just near it. In this use case, either of the following, but NOT both simultaneously, is TRUE:

  1. In this use case, the emulated VM is either compiling software, OR:
  2. The emulated VM is shut down, the QEMU app is closed but I am installing software via MacPorts that requires compilation from source. In this example, I ran: 
sudo port install meld

Having executed either of 1 or 2 above, the utilization rises and the fan speed are at 100%.


I'm not complaining that I have a fast machine. The M1 Max is still a very powerful and usable machine. What I find so annoying is that when there is plenty of power available to it (as it is plugged into power), and the fan speed is low (indicating it is not thermally throttled), the system will not utilize more of the performance cores more often to increase the performance of what's asked of the machine. When you have multiple apps open simultaneously, it makes total sense for the OS to assign as many of those as possible to the efficiency cores, most noticeably the background processes and whatever apps that are NOT "in-focus" (IE: they're open but minimized or haven't been touched by the user for a period of time). In this regard, whichever app IS presently "in-focus" may be assigned to the performance cores. However, it seems that MacOS is not doing that as often as you might expect. Rather, it seems more often than not, the performance cores are primarily used as spillover cores.


The system seems to assign as much as possible to the efficiency cores. There might be a few apps open that are coded to prefer the performance cores for certain tasks, thus the slight performance core utilization when the machine is in the idle, busy, and even semi-loaded use cases I described above but that won't span more than 5% on most of them, maybe one performance core rises above 25% in those use cases. Still, there are apps waiting on their "turn" from the efficiency cores when there's plenty of processing capability available on the other cores. 


Part of what makes all of this possible on these machines, that is, having so much open simultaneously, is apples smart memory management. I just wish they'd apply some of the intelligent thinking they did for that problem to CPU resource allocation. The machine should not operate like its operating on battery power alone, 100% of the time, regardless of whether it is plugged in, or on battery power. The performance profile should change based on these two conditions, if selected by the user. My laptop is configured for "High Power" in the settings Energy Mode, but this makes no discernable difference as I believe there is resource allocation optimization work for apple to do in its OS in order for the setting selected can truly be of benefit.


Anyways, you're welcome for the novel a statement like this can be taken a million different ways so I wanted to be as clear as I could without taking a year to document the problem. 


Cheers All!

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Macbook Pro M1Max (with 10 Cores) always at near 100% on efficiency cores (2 cores)

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.