关于前端的内存泄漏问题

2023-02-03 11:43:13 +08:00
 sakura0508

关于内存泄漏

OP 参与开发的网页(vue3 + element plus)因为业务需要,24*7 有人值班操作,所以近期出现了用户在长期不刷新网页的情况下出现了网页崩溃的情况

在排查过程中发现似乎是 element plus 的组件存在内存泄漏的问题

尝试在官网复现,打开组件页,通过浏览器的任务管理器,能看到初始占用不到 100M

在我来回点击组件文档几十次后回到首个组件页此时内存占用超过 1G

在等待垃圾回收后内存将至 400m+,随后又等待了 5 分钟确认内存不会在继续下降了

所以是否只要操作的次数够多,内存就会持续上涨直到突破浏览器内存限制导致网页崩溃

1946 次点击
所在节点    问与答
10 条回复
CraxClive
2023-02-03 13:21:42 +08:00
是的,建议学习一下如何排查前端页面内存泄漏
CraxClive
2023-02-03 13:25:00 +08:00
elementplus 的组件展示页有内存泄漏问题不代表 elementplus 的组件有内存泄漏问题,具体还是要看实际的网页来判断
jones2000
2023-02-03 13:54:37 +08:00
1. 机器加内存, 比如加到 128G , 够开一个星期的就可以。
2. 定期重启程序, 比如每周 1 次重启,
dingwen07
2023-02-03 15:01:33 +08:00
Chrome 可以用 window.performance.memory 获取内存

可以在页面进行某些操作的时候检测一下,如果超了强制刷新什么的
horizon
2023-02-03 16:49:35 +08:00
如果你存在内存泄漏,是的。
horizon
2023-02-03 16:49:58 +08:00
Chrome 最多 4 个 G 内存
rabbbit
2023-02-03 16:58:03 +08:00
写个定时器,每周晚上刷新一次
mario34
2023-03-10 23:39:55 +08:00
我们的项目上线后遇到崩溃,还在持续排查中 😅
sakura0508
2023-03-13 17:49:20 +08:00
@mario34 #8 我们后面排查 element-plus 确实有内存泄漏的问题,所以把使用频率高的页面用 naiveui 重构了
mario34
2023-07-17 09:45:41 +08:00
@sakura0508 https://github.com/vuejs/core/issues/8790
找到原因了,等发布更新版本吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/912828

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX