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