qianjiachun / douyu-monitor

网页端跨平台斗鱼弹幕助手

Home Page:https://www.douyuex.com/288016

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[BUG] 内存泄漏?

Mishasama opened this issue · comments

commented

用浏览器长时间(比如全天挂机)运行后页面会崩溃,错误代码为:Out of memory

测试浏览器为最新 Stable 版本的 Chrome 和 Edge。Edge 需关闭效率模式。

是remix版本吗?
已知悉,我会对代码进行排查

commented

是remix版本吗? 已知悉,我会对代码进行排查

是 douyuex.com 的版本

我对代码初步进行了分析,觉得没有特别离谱的内存泄露处(有隐患但是是业务需要,而且也不至于造成out of memory)

你是否将数据上限调到了很高的值?这个是最有可能造成崩溃的
另外可以尝试关闭superchat,这个是所谓的隐患之一

说一下我做了什么吧:
我将代码中引用的部分对象进行了释放,尝试性优化内存管理。并增加了npm run memlab进行leak分析
如果有能力对代码进行review,欢迎查阅或提交PR,本人不胜感激🙏

commented

页面崩溃问题

另外可以尝试关闭superchat,这个是所谓的隐患之一

之前把SC关掉了貌似就没有再发生类似的问题了,如果是业务需要可能需要考虑调整实现的方法了。

这是另一个会导致内存泄漏的BUG

スクリーンショット 2023-04-16 125849
スクリーンショット 2023-04-16 130012
在互联网网络中断的时候,它似乎会在不断的重连啥的,但似乎没有释放失败的重试,导致进程CPU和内存占用越来越高。
大概是重试逻辑的问题,可能是设计时没考虑到长时间断网还会挂着页面之类的。
(这个是在我断网的时候突然发现内存不足时看看是谁导致的发现这个进程内存爆炸的,平时怎么挂都没有什么问题,所以我感觉应该是这个原因)

编程我只懂皮毛,平时也就顺手做一下QA测试,代码上谈不上有能力review,没办法从你大量的代码里找出相关的部分。
你如果不嫌弃花时间跟一个外行讨论的话可以把相关的代码贴出来解说一下,我也许可以从程序设计的方向上分析一下。

commented