许多 Mac 笔记本电脑用户在图形界面下找不到直接显示当前功耗的功能,这确实让人感到不便。不过通过终端命令配合简单的物理计算,我们完全可以实时获得电池的充放电功率(单位瓦特),而且这已是当前最接近真实功耗的实用方案。

实测结果显示,不同方法得出的数据差异较为明显:ioreg 提取的电压电流换算出的整机功率最为准确;powermetrics 仅估算 CPU/GPU 芯片级功耗,通常比 ioreg 低 30%~50%;pmset -g batt 则用于快速判断充放电状态,辅助验证数据可靠性。
使用 ioreg 命令提取电压与电流并计算功率
这是获取真实供电功率的核心方法,依赖系统底层硬件寄存器数据,结果可信度最高。
第一步:打开“终端”应用(路径:访达 → 应用程序 → 实用工具)。
第二步:输入以下命令并回车:
ioreg -r -c "AppleSmartBattery" | grep -i "Amperage|Voltage|ChargingCurrent|ChargingVoltage"
输出中必须同时找到两个关键字段:Amperage(单位 mA,负值表示放电) 和 Voltage 或 ChargingVoltage(单位 mV)。如果只出现其中一项,说明当前电池驱动未上报完整数据,建议重启后重试。
第三步:手动换算。举例来说,若输出为 Amperage = -2450、ChargingVoltage = 12720,则计算为 12.720 V × 2.450 A ≈ 31.2 W,即当前以约 31.2 瓦的速率放电。
通过 powermetrics 查看 CPU/GPU 封装级功耗估算值
该命令不提供总功率,但能精准定位高耗电硬件模块,特别适合排查异常发热或续航骤降问题。
方法一:基础监控(每秒刷新一次)
sudo powermetrics --samplers cpu_power,gpu_power --show-process-energy --interval 1000
注意:首次运行需要在“系统设置 → 隐私与安全性 → 完全磁盘访问”中授权终端,否则会卡在权限提示且无输出。
方法二:静默快照(单次采集,适合截图留存)
sudo powermetrics --samplers cpu_power,gpu_power --limit 1
CPU Package Power 和 GPU Package Power 的数值单位为毫瓦(mW),两者相加后除以 1000 即得到对应的瓦数。但这仅为芯片级估算,不包含屏幕、SSD、内存等其他负载,因此总和通常比 ioreg 算出的整机功率低 30%~50%。
利用 pmset -g batt 快速判断充放电趋势
该命令不提供精确瓦数,但能帮助确认当前是否处于高功率充/放电状态,避免误判 ioreg 数据。
运行 pmset -g batt,重点关注两处:
- 如果显示 “discharging; 1:22 remaining”,说明正在放电,此时用 ioreg 算出的功率就是整机当前的耗电瓦数。
- 如果显示 “charging; (no estimate)”,代表正在充电但系统无法预测充满时间——大概率正以高功率快充,此时务必用 ioreg 验证实际充电瓦数,不要仅依赖适配器标称值。
