lihaoyun6 / AirBattery

Get the battery usage of all your devices on your Mac and put them on the Dock / Menu Bar / Widget! && 在Mac上获取你所有设备的电量信息并显示在Dock / 状态栏 / 小组件上!
https://lihaoyun6.github.io/airbattery/
GNU Affero General Public License v3.0
1.18k stars 32 forks source link

log进程资源占用异常高 #57

Closed syanpun closed 3 months ago

syanpun commented 3 months ago

活动监视器里看到log进程内存和CPU占用都很高,尤其是内存

image image
lihaoyun6 commented 3 months ago

应该是发生了内存泄漏, 我排查一下

lihaoyun6 commented 3 months ago

可否告知一下您的系统版本和APP版本, 以及mac的硬件架构

syanpun commented 3 months ago

您好

OS: macOS 14.5 23F79 arm64
Host: MacBookPro18,3
Kernel: 23.5.0
CPU: Apple M1 Pro
APP:版本1.4.2 (142)
lihaoyun6 commented 3 months ago

可否请您尝试在终端中执行一下

log show --process bluetoothd --info --last 2h > ~/Desktop/bluetoothd.log

并将桌面上生成的bluetoothd.log文件打包发上来以供调试. 谢谢

syanpun commented 3 months ago

bluetoothd.log.zip

大概两点钟的时候打开来的应用,之前因为内存占用太大退出了

我这边能扫到的蓝牙设备应该非常多

lihaoyun6 commented 3 months ago

我暂时没有从你的蓝牙日志中看到会导致脚本内存泄漏的问题.

image

你可以先把这个功能关掉, 然后重新打开一下AirBattery就可以正常使用了(关闭此功能后, AirBattery不会尝试读取系统蓝牙日志)

syanpun commented 3 months ago

感谢,确实是这个选项导致的,通过蓝牙扫描iOS设备好像也会导致这个问题

Leeiio commented 3 months ago

我也碰到了这个问题

GRdMy5Rb0AAczkA

lihaoyun6 commented 3 months ago

推测是分析日志的时候遇到了什么意外的数据格式, 导致读取日志的线程挂住无法正常退出, 后续还在不断生成新的. 我马上就要更新v1.4.4, 为日制读取添加超时机制, 超过规定的合理读取时间直接放弃读取, 等一会就可以更新了

PS: 如果你没有罗技键鼠之类的第三方设备需要读取电量, 可以直接关掉楼上我发的截图中指出的那个设置项, AirBattery就不会去读取蓝牙日志了

Leeiio commented 3 months ago

嗯,我试试 1.4.4 版本,我有罗技鼠标及其他第三方设备电量读取的需求所以还是不能关这个设置。