Mac 耗电太快:用终端排查并修复
检查电池健康度、揪出高 CPU 和阻止睡眠的进程,并调整睡眠设置,解决 macOS 掉电过快的问题。
快速开始
Mac 掉电快通常逃不出三种原因:电池老化、后台进程狂吃 CPU、或有程序阻止系统睡眠。本指南只使用系统自带的终端工具,按顺序逐一排查,帮你定位原因并对症下药。
症状
先检查电池健康度和循环次数
在怀疑软件之前,先确认电池本身是否已经老化。循环次数反映电池已使用的寿命,而 Condition(Normal 或 Service Recommended)则表明 macOS 是否认为电池已衰减。如果循环次数很高或提示需要维修,耗电快其实是硬件老化,与设置无关;如果显示 Normal,就继续排查软件原因。
pmset -g batt 显示当前电量,system_profiler SPPowerDataType 则能看到电池状态和循环次数。
$ pmset -g batt && system_profiler SPPowerDataType | grep -E "Cycle Count|Condition|Full Charge Capacity"找出占用 CPU 的进程
失控的进程是软件导致耗电快最常见的原因。拍一张按 CPU 排序的一次性快照,看看排在前面的进程。某个后台应用、浏览器标签页或卡死的辅助进程如果长期接近 100% CPU,即使屏幕闲置也会把电量吃光。记下进程名,之后可以用 pgrep 查它完整的命令行,判断它属于哪个程序。
查看是什么阻止了睡眠
很多耗电发生在 Mac 合盖或闲置时——因为某个程序持有电源断言,阻止系统入睡。列出所有活动断言后,每条都会标明是哪个应用或服务、以什么理由保持唤醒(播放音频、屏幕共享、定时任务等)。如果发现一个不需要的应用显示 'Preventing sleep',那就是耗电元凶。
列出所有电源断言——每个应用、音频流或屏幕共享阻止睡眠的具体原因。
$ pmset -g assertions检查电池模式下的睡眠设置
一些激进的设置——屏幕熄灭时间过长、禁用了待机、或电池模式下不睡眠——都会悄悄缩短续航。查看当前配置,输出会分别列出电池和电源适配器两套参数。记下 Battery 一节中 displaysleep、sleep 和 standbydelay 的值,方便下一步修改时对照。
pmset -g custom 会分别列出使用电池和电源适配器时 Mac 实际生效的睡眠与电源参数。
$ pmset -g custom调整进入休眠的时间
如果 Mac 长时间停留在普通睡眠而不进入深度休眠,待机耗电会不断累积。增大 standbydelay 让机器在睡眠一段时间后更快转入休眠,从而减少过夜或搁置期间的掉电。这条命令需要 sudo 并会修改系统电源设置,请谨慎执行;如果行为异常,可用撤销命令恢复原值(10800 秒)。
用 pmset 调整 Mac 进入深度休眠前的等待时间,平衡秒醒速度和整夜电量消耗。
$ sudo pmset -a standbydelay 86400▾ 撤销
$ sudo pmset -a standbydelay 10800持续观察整机功耗表现
处理完元凶之后,验证系统是否恢复正常:CPU 空闲占用应很低,电池放电速度应明显放缓。用实时系统监控工具可以在一个画面里同时看到 CPU、内存和进程情况——让它跑几分钟,若空闲时 CPU 接近零且没有异常进程霸占前排,就说明问题解决了。
如何确认已解决
空闲时 CPU 占用接近零,没有异常进程持有电源断言,调整睡眠设置后电池过夜不再明显掉电。
一键全部撤销
上面每一条命令都可以撤销。按此顺序执行即可全部还原。
$ sudo pmset -a standbydelay 10800执行前请先确认——部分步骤之间可能并非相互独立。
来源
- pmset — power management settings (macOS man page)依据: Documents -g batt, which prints charge percentage and power source.
- system_profiler — hardware reports (macOS man page)依据: SPPowerDataType exposes cycle count, condition, and full-charge capacity of the battery.
- top — display and update sorted information about processes (macOS)依据: The page documents -l for logging mode (one shot) and notes that -u is an alias equivalent to "-o cpu -O time", confirming -o cpu sorts by CPU usage.
- top(1) man page依据: The synopsis shows -l <samples> ("Use logging mode and display <samples> samples") and -o <key> for the sort-order column, with cpu as a valid key.
- Power Management - Apple Developer依据: Apple's documentation of sleep states and power management on macOS, the mechanism pmset controls.
- bottom documentation依据: Official bottom docs covering widgets and flags.
- Homebrew formula: bottom依据: Installs bottom, which provides the btm binary.
最后验证: 2026-09-21