限制 macOS 的最大充电电量
查看「 Apple 专题」获取更多相关内容
前言
限制电池的最大充电量的目的是延长电池的健康和防止损害的电池。各种资料表明,锂离子电池的最佳充电范围在 40% 至 80% 之间,通常称为 40-80 法则 [1] [2] [3]。这对那些整天把 Mac 电脑都接着充电器的人特别有帮助。
Apple 在 macOS Catalina 10.15.5 才终于引入了电池健康管理功能,这在一些 PC 厂家上是已经实际应用很久的功能了,对于使用 macOS Catalina 10.15.5 以上版本及使用雷雳 3(Thunderbolt™3)端口的 Mac 你可以通过以下方法开启它:
选取苹果菜单 > 「系统偏好设置」,点按「电池」并在边栏中选择「电池」,然后点按「电池健康」。
但个人觉得这个系统自带的功能并没有后面介绍的第三方工具好用
但如果你停留在了老系统或是使用的不是 Thunderbolt™3(2016 年以前)的 Mac 怎么办呢?
AlDente
AlDente 是一个图形化的限制最大充电百分比的 macOS 工具,但要求使用的是 macOS 11 Big Sur 及以上版本。
AlDente 下载地址:AlDente - Github
如果你的系统是旧版本的 macOS,可以使用 BCLM。
BCLM
BCLM 是一个包装器,用于在 Mac 计算机上向系统管理控制器(SMC)读取和写入电池最大充电电量(BCLM)值。这个项目的灵感来自于几个电池管理解决方案,包括苹果自己的电池健康管理。
如果正在使用 Homebrew 包管理器可以使用命令安装:
brew tap zackelia/formulae
brew install bclm
否则就需要手动下载:BCLM - Github
# 解压 bclm.zip
unzip bclm.zip
# 将其拷贝到 /usr/local/bin 目录
sudo cp bclm /usr/local/bin
⚠️ 注意:如果你使用的系统是 macOS Mojave 10.14.4 之前的版本,会遇到报错:dyld: Library not loaded: @rpath/libswiftCore.dylib Referenced from: /usr/local/bin/bclm Reason: image not found
这需要安装「Swift 5 Runtime Support for Command Line Tools」,你可以在 Apple 官网找到它:Download Swift 5 Runtime Support for Command Line Tools - Apple
bclm
OVERVIEW: Battery Charge Level Max (BCLM) Utility.
USAGE: bclm <subcommand>
OPTIONS:
--version 显示版本。
-h, --help 显示帮助信息。
SUBCOMMANDS:
read 读取 BCLM 值。
write 写入 BCLM 值。
persist 持久化 bclm。
unpersist 取消持久化 bclm。
查看 'bclm help <subcommand>' 获取详细帮助。
在写入数值时,macOS 的充电量会略微超过设定值(约3%)。为了在完全充电时显示 80%,建议将 BCLM 值设置为 77
。
sudo bclm write 77
bclm read
77
注意,写入数值时需要以 root 身份运行,但读取时则不需要这么做。
关于持久化
SMC 可以通过启动快捷方式或其他各种技术原因进行复位。为确保 BCLM 始终处于其预期值,应持久化使用。
这将在 /Library/LaunchDaemons
中创建一个新的 plist,并通过 launchctl 加载它。它将保持当前的 BCLM 值,并在后续的 BCLM 写操作中进行更新。
sudo bclm persist
同样,可以取消持久化,这将卸载 plist。
sudo bclm unpersist
延伸