chatlog icon indicating copy to clipboard operation
chatlog copied to clipboard

开启实时更新后电脑很卡

Open kitexxx opened this issue 5 months ago • 1 comments

这是我微信群太多(400多个群聊),接收的消息太多造成一直在更新数据吗?一开启更新我的电脑硬盘写入占比立马变成100%并一直持续,除非关闭自动更新,这也导致我电脑持续卡顿影响使用,查看任务管理器,cpu和内存我看着是没怎么波动的,只有硬盘写入读取有变化。不知道是我微信的问题还是电脑配置太拉了。如果确实解决不了,不能实时更新,请问每天定时重新解密是不是也差不多能实现实时更新的效果,具体怎么操作能实现定时解密。求大佬解答,我是小白。

微信版本:4.0.3.36 chatlog版本:0.0.29

kitexxx avatar Sep 05 '25 07:09 kitexxx

实时更新确实会造成持续写盘。 因为程序的处理逻辑是监控数据库文件变化,如果发生变化,说明微信更新了数据,那么就执行一次解密操作。 解密操作需要对数据库文件做全文件解密运算并拷贝数据,由于 Windows 系统对文件有强制锁定,所以我们还额外引入了 filecopy 机制将解密后的数据再拷贝一次。 数据量最大的应该是 MSG_0.db 文件,假设这个文件有几百 M,加上你的群比较多,消息更新频繁,这个大文件被频繁写入,就会存在你说的持续写盘的问题。

解决方案我简单考虑了下,有几个方案,可以考虑结合:

  1. 改用 docker 方案运行 chatlog,挂载 Docker Volumn 作为 Work Dir,这样就避免了 filecopy 机制。
  2. 将微信数据做一次分离,历史的大量数据解密后归档保存,使用一个 chatlog 实例读取;当前正在运行的微信不保留历史记录,这样应该可以让 MSG_0.db 的数据保持在比较小的体量,加快解密速度。查询时再将两组 chatlog 的数据结合。

sjzar avatar Sep 05 '25 08:09 sjzar