macos-cpupower
Get your CPU core and cluster power draw in Watts.
What It Does and How It Works
This project is designed to get the power draw of your Macs CPU cores and clusters. Each architecture supported by this project uses its own special technique to fetch this data.
On Apple Silicon
CPU core and cluster power draw metrics are measured by fetching two samples of the CPUs energy counter values (which are hidden away in IOReport), and subtracting those values from each other in order to get our data, formatted in milliWatts (which is then converted to Watts).
On Intel
CPU package power draw metrics are pulled from the SMC. Due to the identical frequency behaviors of non-idle cores in Intel Processors prior to Icelake, individual core power draw is estimated by dividing the package power draw metric by the number of physical CPU cores.
Usage
Preparation
Download the precompiled binary from the releases, cd into your Downloads folder, and run the following commands to fix the binary permissions:
chmod 755 ./macos-cpupower
xattr -cr ./macos-cpupower
 
Now you can simply run ./macos-cpupower.
Examples
Here is an example running ./macos-cpupower on an M1 Mac Mini during a Geekbench run:
Average Power Draw
------------------------
ECPU_CLUSTER.......... : 0.656 Watts ( 2.5 Watts: 26.24% )
PCPU_CLUSTER.......... : 10.616 Watts ( 28.4 Watts: 37.38% )
E-Core Power Draw
------------------------
ECPU_CORE_0........... : 0.135 Watts ( 0.6 Watts: 21.60% )
ECPU_CORE_1........... : 0.130 Watts ( 0.6 Watts: 20.80% )
ECPU_CORE_2........... : 0.124 Watts ( 0.6 Watts: 19.84% )
ECPU_CORE_3........... : 0.118 Watts ( 0.6 Watts: 18.88% )
P-Core Power Draw
------------------------
PCPU_CORE_0........... : 4.632 Watts ( 7.1 Watts: 65.24% )
PCPU_CORE_1........... : 1.520 Watts ( 7.1 Watts: 21.41% )
PCPU_CORE_2........... : 1.336 Watts ( 7.1 Watts: 18.82% )
PCPU_CORE_3........... : 0.916 Watts ( 7.1 Watts: 12.90% )
 
Here is an example running ./macos-cpupower on an 13" MacBook Pro with an dual-core i7-4578U:
CPU Power Draw
------------------------
CPU_PACKAGE........... : 13.754 Watts ( 28 Watts: 49.12% )
CPU_INDIVIDUAL_CORE... : 6.877 Watts ( 14 Watts: 49.12% )
 
Options
The following command-line options are supported:
  -h | --help            show this message
  -v | --version         print version number
  -r | --remove-cache    remove the cache storing CPU data
  -l | --loop-rate 
   
       loop output (0=infinite) [default: disabled]
  -i | --sample-rate 
    
      set sampling rate (may affect accuracy) [default: 0.8s]
  -s | --select-core 
     
       selected specific CPU core [default: disabled]
  -c | --cores           print power information for CPU cores    (ARM64)
  -C | --clusters        print power information for CPU clusters (ARM64)
  -e | --e-cluster       print power information for ECPU types   (ARM64)
  -p | --p-cluster       print power information for PCPU types   (ARM64)
      
     
     
Bugs and Issues
Known Problems
- Support for M1 Pro/Max currently unofficial (if anyone has a machine with this silicon, let me know how it works for you)
 
If any other bugs or issues are identified, please let me know in the issues section.
Support 
   ❤️ 
  
 
If you would like to support me, you can donate to my Cash App.