限制 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 下载地址:Github
如果你的系统是旧版本的 macOS,可以使用 BCLM。
BCLM
BCLM 是一个包装器,用于在 Mac 计算机上向系统管理控制器(SMC)读取和写入电池最大充电电量(BCLM)值。这个项目的灵感来自于几个电池管理解决方案,包括苹果自己的电池健康管理。
如果正在使用 Homebrew 包管理器可以使用命令安装:
1 | brew tap zackelia/formulae |
否则就需要手动下载:? BCLM
1 | # 解压 bclm.zip |
⚠️ 注意:如果你使用的系统是 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
1 | bclm |
在写入数值时,macOS 的充电量会略微超过设定值(约3%)。为了在完全充电时显示 80%,建议将 BCLM 值设置为 77
。
1 | sudo bclm write 77 |
1 | 77 |
注意,写入数值时需要以 root 身份运行,但读取时则不需要这么做。
关于持久化
SMC 可以通过启动快捷方式或其他各种技术原因进行复位。为确保 BCLM 始终处于其预期值,应持久化使用。
这将在 /Library/LaunchDaemons
中创建一个新的 plist,并通过 launchctl 加载它。它将保持当前的 BCLM 值,并在后续的 BCLM 写操作中进行更新。
1 | sudo bclm persist |
同样,可以取消持久化,这将卸载 plist。
1 | sudo bclm unpersist |
延伸