前言
如果你的Mac大部分时间都是放在固定位置,那么一直插着充电器肯定是最方便的,可是一直插着又会担心电源过冲,虽然Mac OS有自带的优化充电,但是一直让电量保持100%也不利于电池健康,所以,我们不妨自己控制充电进程,将电池维持在最佳状态,采用旁路供电,保护电池健康。
前置准备
- M1 Mac(其他M系列应该也行)
- SMC控制程序(我使用:smc-fuzzer,编译好的程序:点此下载)
方法
- 将电池电量用到40%-50%(这是电池最佳工作区间,如果有外带需求,建议维持在80%)
- 用SMC控制程序向 指定键 写入 指定值 控制充电,此时Mac将由充电器直接供电
- macOS 15.6及以下
- sudo ./smc -k CH0B -w 2 暂停充电
- sudo ./smc -k CH0B -w 0 恢复充电
- macOS 15.7及以上
- sudo ./smc -k CHTE -w 01000000 暂停充电(01 00 00 00 一个0都不能少!!!)
- sudo ./smc -k CHTE -w 00000000 恢复充电(00 00 00 00一个0都不能少!!!)
- macOS 15.6及以下
- (重要)若长期不使用电池直接供电,Mac的电池管理可能无法正确分析出电池状态,需要每隔2-3周进行电池校准
- 恢复充电
- 将电池用到10%,再充到100%,等待一段时间,再用到10%
- 充到你想要保持的电量,再暂停充电即可
效果


结语
虽然市面上已经有AlDente这种软件可以设置充电上限了,但它仍会使用电池供电,向电池充电,这会增加电池的充电循环,对电池健康仍有影响。采用旁路供电,将电量设为一个定值,即可完全不使用电池供电,最大化保护电池健康。
Credits
SMC控制程序:https://github.com/theopolis/smc-fuzzer
AlDente开源工程:https://github.com/AppHouseKitchen/AlDente-Battery_Care_and_Monitoring
提供新版键值的ibc程序:https://github.com/V380-Ori/ibc