mac用户可通过ioreg命令实时获取usb-c充电电压与电流(单位mv/ma),换算得真实功率(如20.240v×3.180a≈64.4w),并结合pd字段验证实际协商档位(如20v/5a),再用pmset -g batt交叉确认充电动态。

Mac 用户想确认当前连接的 USB-C 电源适配器正在以多少瓦实际为本机充电,同时验证双方是否成功协商出高功率协议(如 PD3.0/3.1、20V/3.25A 等),而不是只看适配器标称值或菜单栏“正在充电”这种模糊提示。
用 ioreg 命令提取实时充电电压与电流并换算真实瓦数
这一步是唯一能获取 macOS 下接近瞬时输入功率的方法,数据来自电池控制器硬件寄存器,非估算值。
第一步:打开「终端」应用(访达 → 应用程序 → 实用工具 → 终端)。
第二步:输入以下命令并回车:
ioreg -r -c "AppleSmartBattery" | grep -i "ChargingVoltage\|ChargingCurrent\|Amperage\|Voltage"
输出中必须同时出现 【ChargingVoltage(单位 mV)】 和 【ChargingCurrent(单位 mA)】 两个字段;若只看到 Amperage 或 Voltage,说明当前未处于主动充电状态,或系统未上报完整充电链路数据——此时请拔插一次适配器再试。
第三步:手动换算。例如输出为 ChargingVoltage = 20240、ChargingCurrent = 3180,则:20.240 V × 3.180 A ≈ 64.4 W。该结果即为当前 USB-C 充电端口向电池输送的真实功率(误差 ±1.5W 内)。
查证当前 USB-C PD 协商达成的具体协议档位
知道瓦数还不够,你得确认 Mac 和适配器到底握手到了哪一组电压电流组合,比如是 20V/3.25A 还是降级到 15V/3A —— 这直接影响能否带动高负载场景。
方法一:通过系统信息界面快速查看(仅显示标称协议,不反映实时波动)
点击左上角苹果图标 →「关于本机」→「系统报告…」→ 左侧边栏展开「电源」→ 右侧找到「交流电源信息」区域 → 查看「充电器信息」下的「充电器瓦数」和「USB PD 支持」字段。此处显示的是适配器上报的额定能力,不是当前协商结果。
方法二:用 ioreg 深挖内核级 PD 协商日志(推荐,可验证真实档位)
在终端中运行:
sudo ioreg -r -c "AppleUSBHostDevice" | grep -A 3 -B 3 "PD\|Voltage\|Current\|PDO"
重点找含 "PD Voltage: 20000 mV" 和 "PD Current: 5000 mA" 的行——这表示当前稳定运行在 20V/5A(100W)档位;若看到 "PD Voltage: 9000 mV" 且电流只有 2000 mA,则说明被降级到 9V/2A(18W),大概率是线缆不支持 E-Marker 芯片或适配器固件未更新。
注意:此命令需输入管理员密码,且部分旧机型(如 2017 年前 Thunderbolt 3 Mac)可能无 PD 字段输出,属正常现象。
交叉验证:用 pmset -g batt 辅助判断充电动态趋势
当 ioreg 数据异常(如电压跳变、电流为 0)时,用该命令快速确认当前是否真在充电、有无间歇性断连。
在终端中执行:
pmset -g batt
观察输出中是否含 "charging; (no estimate)" 或 "charged" 字样。若显示 "discharging" 却插着适配器,说明 PD 握手失败或线缆虚接——此时 ioreg 中的 ChargingCurrent 必为 0 或根本无该字段。
若输出为 "charging; (no estimate)",则代表系统识别到高功率快充中,但尚未完成电量建模,此时 ioreg 算出的瓦数可信度最高。











