Skip to content

Reading your Mac's battery with ioreg: amperage, voltage and the MaxCapacity trap

ioreg shows a Mac battery's raw readings, and two of them mislead on Apple silicon: MaxCapacity says 100 and amperage prints as a huge number. How to read them.

4 min read

The three commands

system_profiler SPPowerDataType | grep -E 'Cycle Count|Condition|Maximum Capacity'
pmset -g batt
ioreg -rn AppleSmartBattery | grep -E '"(CycleCount|Voltage|Amperage|IsCharging|DesignCycleCount9C)"'
Field on our MacBook AirValueFrom
Cycle Count618system_profiler
ConditionNormalsystem_profiler
Maximum Capacity82%system_profiler
Charge and estimate21%, discharging, 1:21 remainingpmset -g batt
Design cycle count1000ioreg DesignCycleCount9C
Voltage11,082 mVioreg

How do I work out the draw?

Multiply Voltage by Amperage. On Apple silicon ioreg prints a negative amperage as a huge unsigned number while discharging; ours read 18446744073709551037, which is minus 579 mA. 11.08 V times 0.579 A is about 6.4 W.

Which field misleads?

MaxCapacity in ioreg read 100 on our Mac while health was 82%. On Apple silicon it is the ceiling of a 0 to 100 scale, not health. See maximum capacity.

See it live

Free Mac's System tab shows what the Mac is drawing from the adapter and the battery, and ranks what is draining it by energy impact, every second. See also cycle count.

Related: Low Power Mode: what it changes and powerd.

Common questions

Why does ioreg show MaxCapacity 100 on my Mac?

On Apple silicon it is the ceiling of a 0 to 100 scale, not battery health. Read Maximum Capacity in System Information instead.

Why is ioreg Amperage a huge number?

It is a negative value printed as unsigned. Subtract it from 2 to the 64th to get milliamps; ours was minus 579 mA.

How do I work out power draw from ioreg?

Multiply Voltage by Amperage. 11.08 V times 0.579 A came to about 6.4 W on our Mac.

Read next