OP 参与开发的网页(vue3 + element plus)因为业务需要,24*7 有人值班操作,所以近期出现了用户在长期不刷新网页的情况下出现了网页崩溃的情况
在排查过程中发现似乎是 element plus 的组件存在内存泄漏的问题
尝试在官网复现,打开组件页,通过浏览器的任务管理器,能看到初始占用不到 100M
在我来回点击组件文档几十次后回到首个组件页此时内存占用超过 1G
在等待垃圾回收后内存将至 400m+,随后又等待了 5 分钟确认内存不会在继续下降了
所以是否只要操作的次数够多,内存就会持续上涨直到突破浏览器内存限制导致网页崩溃
![]() | 1 CraxClive 2023-02-03 13:21:42 +08:00 via iPhone 是的,建议学习一下如何排查前端页面内存泄漏 |
![]() | 2 CraxClive 2023-02-03 13:25:00 +08:00 via iPhone elementplus 的组件展示页有内存泄漏问题不代表 elementplus 的组件有内存泄漏问题,具体还是要看实际的网页来判断 |
3 jones2000 2023-02-03 13:54:37 +08:00 1. 机器加内存, 比如加到 128G , 够开一个星期的就可以。 2. 定期重启程序, 比如每周 1 次重启, |
![]() | 4 dingwen07 2023-02-03 15:01:33 +08:00 via iPhone Chrome 可以用 window.performance.memory 获取内存 可以在页面进行某些操作的时候检测一下,如果超了强制刷新什么的 |
5 horizon 2023-02-03 16:49:35 +08:00 如果你存在内存泄漏,是的。 |
6 horizon 2023-02-03 16:49:58 +08:00 Chrome 最多 4 个 G 内存 |
![]() | 7 rabbbit 2023-02-03 16:58:03 +08:00 ![]() 写个定时器,每周晚上刷新一次 |
8 mario34 2023-03-10 23:39:55 +08:00 我们的项目上线后遇到崩溃,还在持续排查中 |
9 sakura0508 OP @mario34 #8 我们后面排查 element-plus 确实有内存泄漏的问题,所以把使用频率高的页面用 naiveui 重构了 |
10 mario34 2023-07-17 09:45:41 +08:00 |