告別第三方工具!macOS Terminal 直接查看更真實(shí)的電池健康度
事件背景
起因是之前發(fā)現(xiàn) 21 款的 MBP 電池不耐用了,所以就去 Apple Store 上檢測(cè)了一下電腦;檢測(cè)后電池壽命是 82%,還不能換電池……
不過(guò)有趣的是,確實(shí)和系統(tǒng)設(shè)置內(nèi)的電池健康度不一樣(86%):
于是就好奇,是不是有其他地方有電池的日志?
確實(shí)有,省流版本,Terminal 運(yùn)行:
1
ioreg -rn AppleSmartBattery | awk '/AppleRawMaxCapacity/ {raw=$NF} /DesignCapacity/ {design=$NF} END {printf "電池健康度: %.1f%%n", raw/design*100}'
BASH
ioreg 命令
網(wǎng)上沖浪?♂?了一下,發(fā)現(xiàn) macOS 自帶 ioreg 這個(gè)用于查詢 I/O 注冊(cè)表和信息結(jié)構(gòu):
https://www.manpagez.com/man/8/ioreg/我們可以用這個(gè)命令查詢?cè)O(shè)備樹相關(guān)信息。常用的命令:
選項(xiàng) 說(shuō)明 ioreg -l 顯示所有設(shè)備的完整屬性(比較長(zhǎng)) ioreg -p IODeviceTree 查看設(shè)備樹(類似 Linux 的 lspci) ioreg -p IOService 默認(rèn)平面,顯示服務(wù)層設(shè)備信息 ioreg -c IOService 僅顯示 IOService 類及其子類的設(shè)備 ioreg -k BatteryPercent 查找包含 BatteryPercent 屬性的設(shè)備(如電池信息) ioreg -n AppleSmartBattery 顯示名為 AppleSmartBattery 的設(shè)備信息 ioreg -a -x 以 XML 格式輸出,適合腳本解析 ioreg -r -d 1 遞歸查詢并限制深度為 1,即: 僅顯示頂層設(shè)備(常用)
支持創(chuàng)作
電池健康度
查看電池健康就是這個(gè)AppleSmartBattery:
主要的信息,配合 AI 分析,應(yīng)該是:
電池狀態(tài)??
字段 值 說(shuō)明 ??CurrentCapacity?? 100 當(dāng)前電量百分比(100% 表示滿電) ??MaxCapacity?? 100 電池最大容量(百分比) ??FullyCharged?? Yes 是否已充滿電 ??IsCharging?? No 當(dāng)前是否在充電 ??ExternalConnected?? Yes 是否連接了電源適配器 ??ExternalChargeCapable?? Yes 電源適配器是否支持充電電池硬件信息?
字段 值 說(shuō)明 ??DeviceName?? "bq40z651" 電池控制器芯片型號(hào)(TI 的 BQ40Z651 電量計(jì)) ??DesignCapacity?? 6075 電池設(shè)計(jì)容量(單位:mAh) ??NominalChargeCapacity?? 5107 當(dāng)前實(shí)際可用容量(可能因老化降低) ??CycleCount?? 216 電池循環(huán)次數(shù)(216 次) ??DesignCycleCount9C?? 1000 電池設(shè)計(jì)循環(huán)壽命(1000 次) ??Temperature?? 3061 電池溫度(單位:0.1K,3061 = 30.61°C) ??Serial?? "F8Y3******LTAR" 電池序列號(hào)如果我們想過(guò)濾看看電池是否在充電,配合 grep 我們過(guò)濾一下:
1
ioreg -n AppleSmartBattery -r | grep -E "CurrentCapacity|FullyCharged|IsCharging|ExternalConnected"
BASH
你也可以再優(yōu)化一下:
1
2
# 提取為 key = value
ioreg -n AppleSmartBattery -r | grep -Eo '"CurrentCapacity" = [0-9]+|"FullyCharged" = w+|"IsCharging" = w+|"ExternalConnected" = w+'
BASH
AppleRawMaxCapacity 是當(dāng)前的電池容量,DesignCapacity 為設(shè)計(jì)容量;那么配合 grep 來(lái)查看電池的健康度:
1
2
3
4
# 輸出 電池健康度: 81.6%
ioreg -rn AppleSmartBattery | awk '/AppleRawMaxCapacity/ {raw=$NF} /DesignCapacity/ {design=$NF} END {printf "電池健康度: %.1f%%n", raw/design*100}'
# 輸出 當(dāng)前最大容量: 4957 mAh | 設(shè)計(jì)容量: 6075 mAh | 循環(huán)次數(shù) 216 次 | 健康度: 81.6%
ioreg -rn AppleSmartBattery | awk '/AppleRawMaxCapacity/{raw=$NF} /DesignCapacity/{design=$NF} /CycleCount/{cycle=$NF} END{printf "當(dāng)前最大容量: %d mAh | 設(shè)計(jì)容量: %d mAh | 循環(huán)次數(shù) %d 次 | 健康度: %.1f%%n", raw, design, cycle, (raw/design)*100}'
BASH
寫在最后
其實(shí),最開始我是在 stackoverflow 上看到 ioreg 的使用的。
后來(lái)是怎么發(fā)現(xiàn)電池健康度的測(cè)算呢? 是發(fā)現(xiàn) coconutBattery 這個(gè)軟件,讀取的字段就是 AppleRawMaxCapacity 和 DesignCapacity:
最后,如果你覺(jué)得本篇教程對(duì)你有幫助,歡迎加入我們的開發(fā)者交流群: 812198734 ,一起交流學(xué)習(xí),共同進(jìn)步。
相關(guān)知識(shí)
怎么查看筆記本電池的健康度(筆記本電池健康狀態(tài)查詢方法)
筆記本如何查看電池壽命
macOS 10.15.5為Mac引入電池健康管理功能:可看健康度及延長(zhǎng)電池壽命
iPhone電池健康度捷徑查詢工具,查看電池循環(huán)次數(shù)/壽命和16項(xiàng)數(shù)據(jù)
教你怎么查看mac電池健康度?揭秘怎么提升mac電池壽命
教你簡(jiǎn)單查看筆記本電腦電池健康度,保護(hù)你的設(shè)備!
如何查看電池健康狀態(tài)
三星電池健康度怎么查看
如何查看iPhone電池真實(shí)健康度
怎么查看新能源電池報(bào)告?分享4個(gè)方法查看新能源電池健康度
網(wǎng)址: 告別第三方工具!macOS Terminal 直接查看更真實(shí)的電池健康度 http://www.u1s5d6.cn/newsview1388180.html
推薦資訊
- 1發(fā)朋友圈對(duì)老公徹底失望的心情 12775
- 2BMI體重指數(shù)計(jì)算公式是什么 11235
- 3補(bǔ)腎吃什么 補(bǔ)腎最佳食物推薦 11199
- 4性生活姿勢(shì)有哪些 盤點(diǎn)夫妻性 10428
- 5BMI正常值范圍一般是多少? 10137
- 6在線基礎(chǔ)代謝率(BMR)計(jì)算 9652
- 7一邊做飯一邊躁狂怎么辦 9138
- 8從出汗看健康 出汗透露你的健 9063
- 9早上怎么喝水最健康? 8613
- 10五大原因危害女性健康 如何保 7828