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

djcristi

macrumors member
Original poster
Oct 20, 2013
80
16
Bucharest , Romania
why powermetrics show such low power usage when the actual (phpc) is much higher?

also the low-power mode on 14 has lower frecq than on 16 (2.17 vs 2.5 Ghz) , so lower performance and power consumption.

so i have both on base model Max , 14c , 36gb , 1tb.

=========
test: https://cpux.net/cpu-stress-test-online , 10 thread at 100%

----

14” m3 max 14c

Low power

freq : p-core 2.6 idle/ 2.17 load ; e-code 1-2 idle/ 2.55 load
load:
power: smc reports 26W phpc (9.5 display pdbr, 42 total system), and powermetrics only 15W cpu/pkg.
performance: 1300 h/s

1703151197876.png


Auto/high-power

freq : p-core 2.7-4 idle/ 3.5 at start load ; e-code 1-1.3 idle/ 2.4 load
load:
power: smc reports 62W phpc (9.5 display pdbr, 85 total system), and powermetrics only 46W cpu/pkg.
performance: 2100 h/s


but as you can see in the graph after short time it stats throttling, and fans slowly increase
after I maxed the fans the power/perf increased, keeping a consistent on this values:

freq : p-core 3.2
load:
power: smc reports 50W phpc (9.5 display pdbr, 75 total system), and powermetrics only 35W cpu/pkg.
performance: 1900 h/s

1703151230515.png


===================

16” m3 max 14c

Low power

freq : p-core 2.62 idle/ 2.5 load ; e-code 1-2 idle/ 2.55 load
load:
power: smc reports 33W phpc (12w display pdbr, 52 total system), and powermetrics only 21W cpu/pkg.
performance: 1600 h/s

1703155459464.png


Auto/high-power

freq : p-core 3.5-3.7 idle/ 3.58 load ; e-code 1-1.3 idle/ 2.55 load
load:
power: smc reports 60W phpc (12w display pdbr, 84 total system), and powermetrics only 48W cpu/pkg.
performance: 2120 h/s


does not throttle at all, at some point I’ve set the fans to maximum but that decreased temps , so the 16 has a lot more case+fans+heatpipe cooling power

1703151298151.png
 
Last edited:
  • Like
Reactions: sauria

djcristi

macrumors member
Original poster
Oct 20, 2013
80
16
Bucharest , Romania
another test that shows much lower performance on 14" low power mode vs 16 low power mode.

so in this example the low-power in 16 is much better, also if you put the render time it consumes less energy (kwh) to do the job (vs 14 low-power)

final cut 10.7 (& compressor 4.7) , 5min iphone 13 pro max video hevc 4k60 hlg ~53mbps -> compressor profile Apple 4k hevc hlg 50mbps :

So Max has 2 video encoder pipelines , GPU load 100%, there is a some (like 20%) also on CPU
time (lower is better):
16" auto , 14" auto : 01:05
14" low-power: 01:30
16" low-power: 01:11


14 “ low-power : power: smc reports 32W phpc (8w display pdbr, 42W total system), and powermetrics only 7W pkg
14” auto: power: smc reports 52W phpc (8w display pdbr, 77W total system), and powermetrics only 25W pkg

first run is low-power then auto:
1703153084917.png



16 “ low-power : power: smc reports 40W phpc (11w display pdbr, 55W total system), and powermetrics only 11W pkg
16” auto: power: smc reports 60W phpc (11w display pdbr, 80W total system), and powermetrics only 25W pkg

first run is low-power then auto:
1703153739570.png
 
Last edited:

djcristi

macrumors member
Original poster
Oct 20, 2013
80
16
Bucharest , Romania
actually m-soc does not have Smc , it reffers to Iokit parameters that all the monitoring tools (istat , tg pro , stats) use. there is not much documentation around those values, but i suspect that PHPC is total motherboard consumption or something. Total system is PSTR.

PDBR is display brighness (mini-led power consumption). all tests were run at 100% backlight (of course being mini-led it will be lower if you have more total black regions on screen)
 

leman

macrumors Core
Oct 14, 2008
19,521
19,678
Can you give me the full names for the IOKit parameters? I am unable to find "PSTR/PHPC/PDBR" using ioreg.

Powermetrics directly uses Apple's private recount API which tracks system resource usage. It should be accurate, assuming you trust the data source. The power consumption figures for display and system seem extremely high to me. The display power usage alone would mean less than 9 hours battery life under all circumstances. Or is your brightness cranked up?
 
  • Like
Reactions: kalafalas

djcristi

macrumors member
Original poster
Oct 20, 2013
80
16
Bucharest , Romania
i specificed on my post that backligh is at 100% , but it's not all white background, if it was the backlight (PDBR) on 16 can go as high as 17W since all mini-led are full-power, even as low as 2W if you are on full-screen terminal with black background. cause it only has to power the leds for the command line white region.

that are the exact parameter names, you can read more about it here and here . or you can use the Stats app with the setting 'show unknown sensors'. Even if we ignore those PHPC and PDBR , the Total System power (PSTR) is displayed in all apps (istat menus and Stats and others) so if you substract the display backlight (which can be high in mini-led displays 14/16) you get the logicboard power consumption.

attached an example on an mbp 13 m1 , with low cpu usage.
1703164291670.png
 
Last edited:

djcristi

macrumors member
Original poster
Oct 20, 2013
80
16
Bucharest , Romania
that's why in the m3 max reviews on youtube some testers have obtained different results. because some have measured power consumption on AC with a power meter (which is accurate) and some using powermetrics (which is wrong) . on this M1 that i'm typing there is not much diff betweeen powermetrics and PHPC , but on M3 max the diff is huge. so powermetrics on this ones does not show real values. another user pointing out that power metrics is wrong.

======

in this example , i've measured using AC power meter also and it matches ;)

In this 16 m3 max 14c (Sonoma 14.1.2 & 14.2), under full p-cores load (https://cpux.net/cpu-stress-test-online , 10 thread at 100%)

auto/high-power mode: smc reports ~60W (62 phpc/ 58 phps, 10 display pdbr, 86W total DC IN), AC power meter 92W and powermetrics only 48W cpu/pkg

on low power mode: smc reports 30-32W (32 phpc/ 30 phps, 10 display pdbr, 53W total DC IN), AC power meter 57W and powermetrics only 21W cpu/pkg.
 
Last edited:
  • Like
Reactions: sauria

leman

macrumors Core
Oct 14, 2008
19,521
19,678
I fail to see the discrepancy? Powermetrics only reports the power usage of the individual cores/clusters. This does not include RAM, uncore, storage, fans, and various other components. The total system power consumption will obviously be higher (plus, battery is an additional unknown factor).
 

djcristi

macrumors member
Original poster
Oct 20, 2013
80
16
Bucharest , Romania
nope, battery was on 0 consumption, fully charged. so the powermetrics package (or cpu or gpu only) power on older machines match the iokit values, on m3 max (at least) does not match, that is the issue we are discussing here. the memory and ssd usage is very low, you can track those also using iokit other sensor names.
 

leman

macrumors Core
Oct 14, 2008
19,521
19,678
I still don't see the issue. You are discussing the output of private hardware sensors which are not documented or exposed to software in usual way (I do not know how the iStats tool reads the value of these sensors — I cannot find these strings in IOKit registry, maybe they are encoded or hidden somehow?). The functionality of these sensors can change between hardware releases.

Powermetrics results on M3 are consistent with the other Apple Silicon machines in my testing. I have no idea how accurate they are, but they make sense across the hardware generations. Powermetrics did change across the OS versions (e.g. it used to include RAM power).
 

djcristi

macrumors member
Original poster
Oct 20, 2013
80
16
Bucharest , Romania
so, powermetrics is irelevant in this case, since it does not report real power. Total system power or PHPC or others is relevant, since it's the real power used, backed by AC power meter. All the apps that i've mentioned (that everybody use to see sensor readkings) take values from Iokit, only on the old M1 you have to use HID since Iokit does not provide some values. you can look at Stats source code to see how it works. also Chrome takes them from IOkit
 

leman

macrumors Core
Oct 14, 2008
19,521
19,678
If you want system power, feel free to use the sensor values (withe the caveat they are undocumented). If you want CPU core power, use powermetrics (at least it's an official, documented tool). Both are as reliable as you choose to believe.

I do wish that Apple offered a stable, accurate API for these tasks, but alas, that doesn't seem to be their priority.
 

danwells

macrumors 6502a
Apr 4, 2015
783
617
There are a number of losses to consider when putting a power meter on the AC side of the system - at least three before even reaching the computer chassis, and another before reaching the SOC. AC power might be EXACTLY the right thing to measure (if you're looking at the impact on the electric supply, say to total up loads for a solar system - although a really clever solar system might take some DC out before the inverter and bypass DC-to-AC and AC-to-DC conversions, depending on transmission losses). If you're measuring dissipation within the computer, internal sensors will be much more accurate

Probably the big loss (loss in the USB cable could actually be worse in some circumstances) is that the power brick isn't 100% efficient - i. Apple's bricks are among the better ones in the industry, and their new 140W GaAs model seems to be somewhere in the 90% range at typical loads. Bricks are typically less efficient than PC power supplies, and 90% is a pretty good (but not excellent) PC power supply. 80 Plus Gold is a 90% standard at intermediate loads. If you're drawing 100W from the wall, 10W of that is heating up the brick...

The second biggest loss is probably the DC-side cable. Cable loss is related to amperage (that's one of the reasons dryers and ovens run on 220V (and DC fast chargers for electric cars run between 400 and 800V) - the higher voltage cuts the amperage required, and thus cable size and losses. The DC (USB-C to USB-C or USB-C to MagSafe) cable is carrying significant amperage (up to 5A), it can be somewhat long (Apple's are 2 meters, aftermarket high-power USB-C cables are common up to 3M), and the wire gauge isn't very big - very good USB-C PD cables use 20 gauge wire on the power wires, and 22, 24 or 26 gauge are common. Some cables that claim to carry 5A are listed as using 30 or 32 gauge wire - I HOPE that's the data lines, not the power (that much power on a wire that tiny might produce interesting and incendiary results!).

Even a 20 gauge wire is going to lose a few watts along the length of the cable. If I'm using the calculator right, a 20 gauge cable will lose about 5% of the power put into it over a 10 foot run (at 20V DC, 5A)). A 22 gauge cable will lose about 6.5% and a 24 gauge cable will lose 12% (a 24 gauge cable will actually lose more than Apple's brick, which is interesting). If that 30 gauge cable actually exists (I'm skeptical - I think someone accidentally transposed the data wire gauge into the power column), it's going to lose more than 50% of the power it's carrying. A 26 gauge cable will lose about 20%, and a 28 gauge cable will lose 32%. I suspect that the gauges smaller than 24 or so are probably not USB-C compliant at high power delivery levels - but the connection does not actually measure loss, relying instead on what the chip in the cable says it can do. It wouldn't surprise me at all if some cheap "power delivery" cables claim they can transfer 5A on 26 or even 28 gauge wire...

The final loss outside the computer is negligible unless you're using a WHOLE bunch of cheap extension cords to get from your wall outlet to your computer. Assuming that your AC cable is 16 gauge, the run is 10 feet, and the brick is pulling 2 amps at 110V (the maximum the Apple brick claims to pull from the wall), you only lose less than 0.2% of your power in the AC cord. Even taking a worst case scenario of 100 feet of old 18 gauge extension cords, the loss is only a couple of percent. What this says is that it's FAR better to put most of your length on the AC side and use as short a USB-C cable as you can get away with (Apple's brick that plugs directly into the wall by default is seriously counterproductive).

There is one loss INSIDE the computer before you reach any of the circuits we're concerned about, and I can't figure out how to find its magnitude (a few watts at most?). The battery charge circuit is not out of the loop when the battery is fully charged - it's floating the battery. The power is passing through the battery as a buffer. An excellent way to assure very clean power to the electronics, but not without its power cost.

Here's a guess at total losses between an AC power meter plugged into the wall and total system power measured right after the battery charge circuit (assuming 100W total system power drawn by a M3 Max under high CPU/GPU load).

130W at the wall.

AC line loss well under 1 watt, so very close to 130W into the brick.

Brick efficiency of 90% - 117W DC into the USB cable

USB line loss of 12% - 103W DC at the MagSafe jack.

Battery charge circuit takes 3W (???) - 100W at the motherboard's power distribution point - goes to CPU, GPU, RAM, SSD, display, etc.
 

djcristi

macrumors member
Original poster
Oct 20, 2013
80
16
Bucharest , Romania
even if you don't consider that losses, if you calculate like this: total system power - display power = some value, which is at least double that the powermetrics pkg reported, which in real world cannot be, since pkg consumes most of the power under load. PHPC/PHPS is more real represenation of that.

ac-dc power loss is not that much on this new 140W charger , being GaN , if you look at post #7 , 86W total DC IN / AC power meter 92W , so 92W at wall , ac-dc convertion + cable&connector losses , total 7% loss , of course there will also be some minimal DC-DC loss internal when it's doing step-down to Soc and other components.
 
Last edited:

danwells

macrumors 6502a
Apr 4, 2015
783
617
What happens if you average the sensor values over time against the battery drain rate? The math is conveniently easy on the 16" model - it has a 100 watt-hour battery. It should run for 20 hours at a (probably unattainable) 5W load, 10 hours at 10W, 5 hours at 20W, etc. It's going to be a few percent worse than that because of buffers at both ends of the battery - you won't get quite 100 watt-hours into it, and it won't let you drain it to 0 (maybe 5-10% will be buffered between the two ends?).

If you're right, either the total draw iStat (or any similar tool) reports at the battery should be much higher than the sum of the component draws reported OR the total draw should be wrong when you look at the battery runtime (reported system draw over a full charge won't add up to the reported battery capacity).

I'm by no means saying you're wrong - I don't have an M-series MBP to check (I'm in this thread because I'm in the market for one)
 

leman

macrumors Core
Oct 14, 2008
19,521
19,678
So, out of curiosity I downloaded Stats and looked at these sensors. There is no discrepancy on either of my machines (M1 Max 10+32 core, M3 Max 14+30 core). I get the same readings out of powermetrics, Recount API, and the PHPS sensor, so I assume that PHPS is the CPU cores. I have no idea what PHPC is, it consistently shows lower power usage than other sensors or PowerMetrics. The PSTR sensor is just few watts higher than PHPS.

E.g. here are results for a multicore CPU workload that puts all cores at maximal power draw:

M1 Max PHPC: 34W PHPS: 40W PSTR:42W (PowerMetrics/Recount are identical to PHPS)
M3 Max PHPC: 45W PHPS: 56W PSTR: 59W (PowerMetrics/Recount are identical to PHPS)

I am curious why your results are so different.
 
Last edited:

djcristi

macrumors member
Original poster
Oct 20, 2013
80
16
Bucharest , Romania
If you're right, either the total draw iStat (or any similar tool) reports at the battery should be much higher than the sum of the component draws reported OR the total draw should be wrong when you look at the battery runtime (reported system draw over a full charge won't add up to the reported battery capacity).
the total system draw is similar to the battery draw Wattage (istat / coconut / others), and also to the remaining time , cause it's battery (wh) / average total draw (w).
 

djcristi

macrumors member
Original poster
Oct 20, 2013
80
16
Bucharest , Romania
So, out of curiosity I downloaded Stats and looked at these sensors. There is no discrepancy on either of my machines (M1 Max 10+32 core, M3 Max 14+30 core). I get the same readings out of powermetrics, Recount API, and the PHPS sensor, so I assume that PHPS is the CPU cores. I have no idea what PHPC is, it consistently shows lower power usage than other sensors or PowerMetrics. The PSTR sensor is just few watts higher than PHPS.

E.g. here are results for a multicore CPU workload that puts all cores at maximal power draw:

M1 Max PHPC: 34W PHPS: 40W PSTR:42W (PowerMetrics/Recount are identical to PHPS)
M3 Max PHPC: 45W PHPS: 56W PSTR: 59W (PowerMetrics/Recount are identical to PHPS)

I am curious why your results are so different.
i explained in the previous posts what those sensors are , PSTR = total system draw : PDBR (mini-led backlight) which is another big consumer + logic board (which is PHPS i guess).

can you post some proof on your powermetrics ? i used 'mx power gadget' that is in the screenshots and that was used in the youtube reviews, it grabs data from powermetrics.
 

djcristi

macrumors member
Original poster
Oct 20, 2013
80
16
Bucharest , Romania
The power consumption figures for display and system seem extremely high to me. The display power usage alone would mean less than 9 hours battery life under all circumstances. Or is your brightness cranked up?
i think you saw for yourself how much is the actual power usage now. anyway the performance per watt is good if you compare with your m1 max which has lower performance.

btw your m3 max i guess it was same as mine , 14 cores, strange that you draw lower wattage on PHPC, maybe other cpu test than mine that does not really put all cores at max load, or you measured after some time when it was already throttling if it's 14 inch version.
 

leman

macrumors Core
Oct 14, 2008
19,521
19,678
can you post some proof on your powermetrics ? i used 'mx power gadget' that is in the screenshots and that was used in the youtube reviews, it grabs data from powermetrics.

What do you mean by "proof"? I posted the numbers. I am not going to post any screenshots. The data was obtained directly from powermetrics itself, as well as from sampling Apple's performance monitoring APIs for each CPU core.

btw your m3 max i guess it was same as mine , 14 cores, strange that you draw lower wattage on PHPC, maybe other cpu test than mine that does not really put all cores at max load, or you measured after some time when it was already throttling if it's 14 inch version.

I used a simple CPU power load test that I wrote myself. The test puts the CPU in the highest possible power state with highest possible frequency (with the caveat that my test does not use the FP subsystem). I track the operation frequency, power and energy consumption, as well as time spent doing work for each CPU core in the system, so I am fairly sure about the validity of my results. You can find my code here:

 

djcristi

macrumors member
Original poster
Oct 20, 2013
80
16
Bucharest , Romania
i've checked now , there is no difference between console powermetrics and 'mx power gadget' . so my findings are good measured.

you can see in many cases how different it's pkg/cpu power reported by powermetrics to the actual one by phpc/phps) or even pstr - pdbr is a good way to find out the total logic board consumption.

i feel it daily on my 14" m3 max runtime, 5 hours average ;) , on very low load (idle) with non-dark background ar 80% backligh it's already 10W total load, considering 72 wh batery, it's idealy 7 hours ;)
 
Last edited:

leman

macrumors Core
Oct 14, 2008
19,521
19,678
Then your experience is probably down to hogher-than-average display power consumption. These are very bright displays and can consume a lot of power if you run them at high brightness like that.
 
  • Like
Reactions: djcristi

djcristi

macrumors member
Original poster
Oct 20, 2013
80
16
Bucharest , Romania
What do you mean by "proof"? I posted the numbers. I am not going to post any screenshots. The data was obtained directly from powermetrics itself, as well as from sampling Apple's performance monitoring APIs for each CPU core.



I used a simple CPU power load test that I wrote myself. The test puts the CPU in the highest possible power state with highest possible frequency (with the caveat that my test does not use the FP subsystem). I track the operation frequency, power and energy consumption, as well as time spent doing work for each CPU core in the system, so I am fairly sure about the validity of my results. You can find my code here:


i ran your test, it's intersting now the difference is smaller between powermetrics and phpc , like:

your test , 14 threads:
high-power : 53.5-55.5 your test, 52.5-53.5 cpu powermetrics/mx power , 50 phpc, 57 phps ,
low power: 19.8-20.5 your test, 19-19.3 cpu powermetrics/mx power , 22 phpc, 23 phps ,

on the same cpu browser test that i used (initially with 10 threads at 100%), now i test with 14 threads at 100%
high-power : 48 cpu powermetrics/mx power , 65 phpc, 60 phps ,
low power: 13.6-13.8 cpu powermetrics/mx power , 26 phpc, 23 phps ,

maybe it's more on browser test because of memory usage that maybe draws a lot of power also?!
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.