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

lawrence_z_Arabii

macrumors newbie
Original poster
Aug 4, 2022
4
1
So I've bought MBP M1 Max 32 cores less last month. Since then I've been monitoring CPU & GPU usage and temperatures by iStat Menus. Until yesterday CPU usage rarely exceeded 8-10% (GPU even less, I'd say 3-5%) and temperatures showed 48-55 °C. To be honest, that is because I didn't run more demanding tasks lately (holidays).

In one day between yesterday and day before yesterday something strange happen (I moved 400km to another city that day if does it matters).

Since than the GPU usage constantly shows at least 20% (sometimes rises up even to 50%-60%+), while I doing nothing but having Safari opened. Closing Safari and every other app and doing literally nothing doesn't change anything. CPU usage rises up to 10-20% also, but this is much more understandable to me, however GPU has nothing to process at all.

I started to suspect that GPU usage isn't really 20-50% and maybe iStat Menus shows wrong. I thought so because I had noticed GPU temperature didn't really change (shows still 48-53%).

I checked by powermetrics and "sudo powermetrics | grep GPU" shows most often low GPU usage, sometimes rises up indeed, but never exceedes 9% (checked over 300 samples). Sample output below:

Code:
*** GPU usage ****
GPU active frequency: 15 MHz
GPU active residency:   3.56% (389 MHz: 3.4% 486 MHz:   0% 648 MHz:   0% 778 MHz: .17% 972 MHz:   0% 1296 MHz:   0%)
GPU requested frequency: (389 MHz: 2.7% 486 MHz:   0% 648 MHz:   0% 778 MHz: .17% 972 MHz: .71% 1296 MHz:   0%)
GPU idle residency:  96.44%
GPU Power: 18 mW
com.apple.WebKit.GPU               714    0.69      37.58  0.00    0.00               0.98    0.00             
GPU Power: 15 mW
**** GPU usage ****
GPU active frequency: 9 MHz
GPU active residency:   2.39% (389 MHz: 2.4% 486 MHz:   0% 648 MHz:   0% 778 MHz:   0% 972 MHz:   0% 1296 MHz:   0%)
GPU requested frequency: (389 MHz: 2.4% 486 MHz:   0% 648 MHz:   0% 778 MHz:   0% 972 MHz:   0% 1296 MHz:   0%)
GPU idle residency:  97.61%
GPU Power: 15 mW
com.apple.WebKit.GPU               714    0.62      40.58  0.00    0.00               0.00    0.00             
GPU Power: 25 mW
**** GPU usage ****
GPU active frequency: 19 MHz
GPU active residency:   3.19% (389 MHz: 1.7% 486 MHz:   0% 648 MHz:   0% 778 MHz: 1.3% 972 MHz: .23% 1296 MHz:   0%)
GPU requested frequency: (389 MHz: 1.2% 486 MHz:   0% 648 MHz:   0% 778 MHz: 1.6% 972 MHz: .34% 1296 MHz:   0%)
GPU idle residency:  96.81%
GPU Power: 25 mW
com.apple.WebKit.GPU               714    0.72      39.01  0.00    0.00               0.00    0.00             
GPU Power: 10 mW
**** GPU usage ****
GPU active frequency: 6 MHz
GPU active residency:   1.63% (389 MHz: 1.6% 486 MHz:   0% 648 MHz:   0% 778 MHz:   0% 972 MHz:   0% 1296 MHz:   0%)
GPU requested frequency: (389 MHz: 1.6% 486 MHz:   0% 648 MHz:   0% 778 MHz:   0% 972 MHz:   0% 1296 MHz:   0%)
GPU idle residency:  98.37%
GPU Power: 10 mW
com.apple.WebKit.GPU               714    0.58      42.15  0.00    0.00               0.00    0.00             
GPU Power: 16 mW

I also checked indications by Mx Power Gadget and despite GPU frequency rarely rises up, GPU utilization fluctuates constantly indeed:

Untitled.jpeg


Finally I noticed that only one task in macOS Activity Monitor sometimes rises "% GPU" up and that is WindowsServer.

In conclusion one day CPU & GPU show one digit % in the idle, the very next day it's two digits 15% up to 50%. Does anybody have a clue what is going on here?
 
  • Like
Reactions: johnalan
So I've bought MBP M1 Max 32 cores less last month. Since then I've been monitoring CPU & GPU usage and temperatures by iStat Menus. Until yesterday CPU usage rarely exceeded 8-10% (GPU even less, I'd say 3-5%) and temperatures showed 48-55 °C. To be honest, that is because I didn't run more demanding tasks lately (holidays).

In one day between yesterday and day before yesterday something strange happen (I moved 400km to another city that day if does it matters).

Since than the GPU usage constantly shows at least 20% (sometimes rises up even to 50%-60%+), while I doing nothing but having Safari opened. Closing Safari and every other app and doing literally nothing doesn't change anything. CPU usage rises up to 10-20% also, but this is much more understandable to me, however GPU has nothing to process at all.

I started to suspect that GPU usage isn't really 20-50% and maybe iStat Menus shows wrong. I thought so because I had noticed GPU temperature didn't really change (shows still 48-53%).

I checked by powermetrics and "sudo powermetrics | grep GPU" shows most often low GPU usage, sometimes rises up indeed, but never exceedes 9% (checked over 300 samples). Sample output below:

Code:
*** GPU usage ****
GPU active frequency: 15 MHz
GPU active residency:   3.56% (389 MHz: 3.4% 486 MHz:   0% 648 MHz:   0% 778 MHz: .17% 972 MHz:   0% 1296 MHz:   0%)
GPU requested frequency: (389 MHz: 2.7% 486 MHz:   0% 648 MHz:   0% 778 MHz: .17% 972 MHz: .71% 1296 MHz:   0%)
GPU idle residency:  96.44%
GPU Power: 18 mW
com.apple.WebKit.GPU               714    0.69      37.58  0.00    0.00               0.98    0.00            
GPU Power: 15 mW
**** GPU usage ****
GPU active frequency: 9 MHz
GPU active residency:   2.39% (389 MHz: 2.4% 486 MHz:   0% 648 MHz:   0% 778 MHz:   0% 972 MHz:   0% 1296 MHz:   0%)
GPU requested frequency: (389 MHz: 2.4% 486 MHz:   0% 648 MHz:   0% 778 MHz:   0% 972 MHz:   0% 1296 MHz:   0%)
GPU idle residency:  97.61%
GPU Power: 15 mW
com.apple.WebKit.GPU               714    0.62      40.58  0.00    0.00               0.00    0.00            
GPU Power: 25 mW
**** GPU usage ****
GPU active frequency: 19 MHz
GPU active residency:   3.19% (389 MHz: 1.7% 486 MHz:   0% 648 MHz:   0% 778 MHz: 1.3% 972 MHz: .23% 1296 MHz:   0%)
GPU requested frequency: (389 MHz: 1.2% 486 MHz:   0% 648 MHz:   0% 778 MHz: 1.6% 972 MHz: .34% 1296 MHz:   0%)
GPU idle residency:  96.81%
GPU Power: 25 mW
com.apple.WebKit.GPU               714    0.72      39.01  0.00    0.00               0.00    0.00            
GPU Power: 10 mW
**** GPU usage ****
GPU active frequency: 6 MHz
GPU active residency:   1.63% (389 MHz: 1.6% 486 MHz:   0% 648 MHz:   0% 778 MHz:   0% 972 MHz:   0% 1296 MHz:   0%)
GPU requested frequency: (389 MHz: 1.6% 486 MHz:   0% 648 MHz:   0% 778 MHz:   0% 972 MHz:   0% 1296 MHz:   0%)
GPU idle residency:  98.37%
GPU Power: 10 mW
com.apple.WebKit.GPU               714    0.58      42.15  0.00    0.00               0.00    0.00            
GPU Power: 16 mW

I also checked indications by Mx Power Gadget and despite GPU frequency rarely rises up, GPU utilization fluctuates constantly indeed:

View attachment 2038928

Finally I noticed that only one task in macOS Activity Monitor sometimes rises "% GPU" up and that is WindowsServer.

In conclusion one day CPU & GPU show one digit % in the idle, the very next day it's two digits 15% up to 50%. Does anybody have a clue what is going on here?
You are using iStat Menus that's what's going on. It has never worked 100% right on M1. Try Exelban Stats, it's free and modern, and see if you have the same problem.
 
  • Like
Reactions: TechnoMonk and Ray2
You are using iStat Menus that's what's going on. It has never worked 100% right on M1. Try Exelban Stats, it's free and modern, and see if you have the same problem.
Oh and uninstall iStat completely before you try.
 
Are there any open apps?
None.

what does Activity Monitor tell you?
It looks like below. WindowServer consumes 44% GPU while nothing running, a few second later drops to few %, next rises up again over and over.

Untitled.jpeg


You are using iStat Menus that's what's going on. It has never worked 100% right on M1. Try Exelban Stats, it's free and modern, and see if you have the same problem.
Thanks, I'll try it. Considering Mx Power Gadget indications it not a iStat Menus issue, though.
 
Thanks, I'll try it. Considering Mx Power Gadget indications it not a iStat Menus issue, though.
It can be. When I activated the disk stats in iStat Menus, the iStat agent cpu usage went from 2 to 12% for no reason and stayed there, which is why I dumped it.
 
Here's what is probably going on:

Code:
GPU active frequency: 15 MHz
GPU active residency:   3.56% (389 MHz: 3.4% 486 MHz:   0% 648 MHz:   0% 778 MHz: .17% 972 MHz:   0% 1296 MHz:   0%)
GPU requested frequency: (389 MHz: 2.7% 486 MHz:   0% 648 MHz:   0% 778 MHz: .17% 972 MHz: .71% 1296 MHz:   0%)
GPU idle residency:  96.44%

powermetrics is reporting that during one reporting interval, your GPU's speed averaged to 15 MHz. It is never literally at 15 MHz, it's just that its speed can be 0 (I think - they don't explicitly show a bucket for 0), 389, 486, 648, 778, 972, or 1296 MHz, and powermetrics is averaging based on how long it resided in each state.

Next, consider a question. How do you measure the load percentage of a CPU, or a GPU? The simple approach is to count the number of clock cycles it spent doing real work during some time interval (e.g. 1 second), and divide by the number of clock cycles which actually happened during that same interval.

What happens when you have a GPU which averaged 15 MHz over 1 second - i.e. 15 million clock cycles per second - and it did 7.5 million cycles of work? You'd say it was at 50% load, right? But it really wasn't, because the GPU's full performance state is 1296 MHz, in which case 7.5M cycles of work over 1 second is only ~0.5% load.

So: System monitoring tools which don't get a little more sophisticated about how they calculate load may show misleadingly high load percentages when the CPU or GPU are close to idle.
 
  • Like
Reactions: TechnoMonk
Click on the iStat GPU usage meter, look at the Apple M1 Max section in the middle.

If it looks like the Processor is in the single digits, and the top bar matches the 25% usage. Then you are showing GPU memory, not GPU processor.

Just need to go to iStat Menus, click on the CPU/GPU, then the GPU in the active items bar, and select processor.
 
Here's what is probably going on:

Code:
GPU active frequency: 15 MHz
GPU active residency:   3.56% (389 MHz: 3.4% 486 MHz:   0% 648 MHz:   0% 778 MHz: .17% 972 MHz:   0% 1296 MHz:   0%)
GPU requested frequency: (389 MHz: 2.7% 486 MHz:   0% 648 MHz:   0% 778 MHz: .17% 972 MHz: .71% 1296 MHz:   0%)
GPU idle residency:  96.44%

powermetrics is reporting that during one reporting interval, your GPU's speed averaged to 15 MHz. It is never literally at 15 MHz, it's just that its speed can be 0 (I think - they don't explicitly show a bucket for 0), 389, 486, 648, 778, 972, or 1296 MHz, and powermetrics is averaging based on how long it resided in each state.

Next, consider a question. How do you measure the load percentage of a CPU, or a GPU? The simple approach is to count the number of clock cycles it spent doing real work during some time interval (e.g. 1 second), and divide by the number of clock cycles which actually happened during that same interval.

What happens when you have a GPU which averaged 15 MHz over 1 second - i.e. 15 million clock cycles per second - and it did 7.5 million cycles of work? You'd say it was at 50% load, right? But it really wasn't, because the GPU's full performance state is 1296 MHz, in which case 7.5M cycles of work over 1 second is only ~0.5% load.

So: System monitoring tools which don't get a little more sophisticated about how they calculate load may show misleadingly high load percentages when the CPU or GPU are close to idle.


Interesting analysis. I’m having the same issue right now, on M1 Pro, though I don’t see it on my two other MacBooks with the same chip.
 
Interesting as I’m dealing with high GPU loads on an M1 MBA. I notice it with iStat, confirmed by AM, always the WindowServer. It not fiction, the MacBook Air is beach balling with Lightroom Classic when this happens. I’m still on Monterey, haven’t been any updates recently.

I’m starting to feel the biggest load on both CPU and GPU is Apple. A great way to upsell.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.