在macOS 10.15 Catalina 上控制电池充电限值

苹果本子的电源管理我认为不应该有明显瑕疵的,但我日常用的macbook本子经历了几次电池鼓包,苹果售后天才吧说不要长时间连接电源使用.通过网上查阅资料,了解到锂电保持在40~80%(相关链接[1][2][3])的电量使用是对电池寿命帮助最大的,虽然不知道还会不会引起电池肿胀,但至少对于全天连接电源使用来说看起来应该有些作用.苹果公司在最新的系统中有对电池充电进行上限值的优化,iPhone也有相似的选项(充至80%后暂缓充电).网上也有第三方软件提供电池充电优化,但是限制了系统版本,要macOS 11 Big Sur及以上.

经过查找,终于找到10.15系统可用的方法,在如下电脑上实测通过:

Macbook Pro 2010
Macbook Pro 2012
Macbook Pro 2015

BCLM(https://github.com/zackelia/bclm)是个命令封装器,它可以读取和设置SMC(系统管理控制器)中电池充电最大值来实现苹果本子电池充电控制.

从github的Releases处下载BCLM最新版,解压后复制它到/usr/local/bin目录中.打开终端结合对应的参数即可使用,写入需要管理员权限,读取不需要.比如我们想读取当前设定的充电最大值用:

$ bclm read

未设置的情况下将返回值100,即会充电至100%.

根据我们的了解,设定到40~80%之间是有益的,比如80,但苹果的电源控制有约3%的误差,所以建议尝试设置75%,即让充电系统维持电池电量在75%.

$ sudo bclm write 75

这时候可以拔掉电源让电池耗电到75%以下,重新连接电源线即可看到电池充到75%左右的时候会停止,并且充电完成绿灯会亮起.

要恢复默认值,直接写100即可.某些情况下,比如重启系统等时候会重置SMC的某些值,比如达到设定的最大充点值后虽然停止充电,但是充电灯未变绿色.这时候可重新写入75%设定,也可以使用persist命令将bclm命令加入到自启,持续保持设置生效:

$ sudo bclm persist

这将创建一个plist到 /Library/LaunchDaemons目录并由launchctl按照当前BCLM设定值启动应用它.如果要取消该自启设置,使用unpersist参数即可:

$ sudo bclm unpersist

至此,设置完成了,如果觉得命令行略繁琐,也可以使用ChargeLimiter(https://github.com/godly-devotion/charge-limiter)来帮你完成上述设置,ChargeLimiter是将bclm命令进行了对话式的封装,设置后它将自动把bclm加入自启,如要卸载,只需再次运行ChargeLimiter并设置充电限制值到100,同时会自动移除bclm的自启,再删除ChargeLimiter.app即可.

今天就写到这里,回见~

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注