macos可通过终端命令监控能耗:pmset -g batt查看电池状态,powermetrics获取cpu/gpu功耗及唤醒频率,pmset -g检查电源策略,pmset -g assertions定位阻止休眠的进程。
macos 本身不直接向终端暴露精确的实时功耗数值(如瓦特),但可通过系统底层工具获取高度相关的能耗指标,包括 cpu/gpu 活跃度、唤醒频率、电源状态、电池放电率等。这些数据能有效反映当前系统“正在怎么耗电”。以下是最实用、可立即执行的终端方法:
用 pmset -g batt 查看电池实时状态
这是最快速、最可靠的内置命令,适用于所有 Mac 笔记本:
- 运行 pmset -g batt,输出类似:
Now drawing from 'Battery Power' -InternalBattery-0 (id=123456) 78%; discharging; 3:15 remaining - 关键字段:discharging(放电中)或 charging(充电中)、剩余电量百分比、预估剩余时间
- 若显示 AC Power,说明当前未使用电池,后台功耗对续航无直接影响
用 powermetrics 抓取硬件级能耗事件
这是 macOS 内置的深度诊断工具,能实时输出 CPU、GPU、I/O 和唤醒行为等关键能耗信号:
- 基础监控(每秒刷新):sudo powermetrics --samplers cpu_power,gpu_power --show-process-energy --interval 1000
- 输出中重点关注:
• CPU Package Power(CPU 封装功耗估算,单位 mW)
• GPU Package Power(GPU 功耗估算)
• Wakeups/Sec(每秒唤醒次数,过高说明进程频繁打断休眠)
• 各进程下方的 Energy Impact(能量影响分,与活动监视器一致) - 注意:需管理员权限(sudo),部分新版本 macOS 可能要求先在“隐私与安全性”中授权终端访问“完全磁盘访问”
用 pmset -g 检查电源策略是否异常
某些后台高耗电问题源于错误的电源配置,比如禁用自动休眠或启用高性能模式:
- 运行 pmset -g,查看以下几项:
• hibernatemode:应为 3(默认)或 25(安全睡眠),非 0 或 255
• sleep 和 disksleep:建议设为非 0 值(如 10 表示 10 分钟后休眠)
• powernap:笔记本建议关闭(sudo pmset -b powernap 0),避免后台联网唤醒耗电 - 若发现 preventuseridlesleep: 1,说明有应用正阻止休眠,可配合 pmset -g assertions 查看具体是谁
辅助诊断:结合 pmset -g assertions 定位“拦路虎”
很多后台耗电不是因为计算忙,而是因为某个进程持续占用系统资源不让它睡:
- 运行 pmset -g assertions
- 重点看 PreventUserIdleSystemSleep 和 PreventUserIdleDisplaySleep 是否为 1
- 若为 1,再查 Kernel Assertion 或 Assertion ID 对应的进程名,常见于 Zoom、Teams、iTerm(未关闭 SSH 连接)、或某些 Electron 应用











