BCLM是一个包装器,可读取和写入MAC计算机上系统管理控制器(SMC)的电池电量级别最大值(BCLM)/CHWA值。它支持英特尔和苹果硅。该项目的灵感来自多种电池管理解决方案,包括苹果自己的电池健康管理。
限制电池最大充电的目的是延长电池健康并防止电池损坏。各种来源表明,锂离子电池运行的最佳电荷范围在40%至80%之间,通常称为40-80规则[1] [2] [3]。该项目对每天都在充电器上留在充电器上的人特别有用。
安装BCLM的最简单方法是通过brew 。
BCLM用迅速编写,也很琐碎。当前,它只能在Macos Catalina(10.15)或更高的Macos汇编上,但可以在OS X Mavericks(10.9)或更高的情况下运行。
对于那些没有开发工具或使用较旧的MacOS版本的人,也为释放ZIP提供了签名和公证的二进制文件。
$ brew tap zackelia/formulae
$ brew install bclm
$ make build
$ make test
$ sudo make install
$ unzip bclm.zip
$ sudo mkdir -p /usr/local/bin
$ sudo cp bclm /usr/local/bin
注意:对于MacOS的较旧版本,如果收到以下错误: dyld: Symbol not found则可能有必要安装Swift 5运行时支持命令行工具
$ bclm
OVERVIEW: Battery Charge Level Max (BCLM) Utility.
USAGE: bclm <subcommand>
OPTIONS:
--version Show the version.
-h, --help Show help information.
SUBCOMMANDS:
read Reads the BCLM value.
write Writes a BCLM value.
persist Persists bclm.
unpersist Unpersists bclm.
See 'bclm help <subcommand>' for detailed help.
对于英特尔机器,编写值时,MACOS略微超出了设定值(〜3%)。为了在充满电时显示80%,建议将BCLM值设置为77%。当系统关闭或睡觉时充电时,充电可能会超出设定值超过平均3%。
$ sudo bclm write 77
$ bclm read
77
对于Apple Silicon机器,仅支持80和100的值,并且需要固件> = 13.0。
请注意,为了写入值,必须将程序作为root运行。阅读值不需要。
可以通过启动快捷方式或其他各种技术原因重置SMC。为了确保BCLM始终处于其预期价值状态,应坚持下去。
这将创建一个新的plist /Library/LaunchDaemons ,并通过launchctl加载它。它将持续使用当前的BCLM值,并将在随后的BCLM写入中进行更新。
$ sudo bclm persist
同样,它可以没有宣传,这将卸载服务并删除PLIST。
$ sudo bclm unpersist