当前位置:首页 > 房产信息

内存溢出 记一次网页内存溢出分析及解决实践

背景

该项目是利用vue框架开发的内部异常监控系统,用于显示java程序运行时的异常信息,包括执行栈、代码、变量等信息的显示。

测试过程中,部门同事反映多次在不同异常信息之间切换会导致网页崩溃。在犯罪现场打开chrome的任务管理器,看到这个页面的内存占用已经达到9.7G,初步怀疑页面有漏洞。

验证猜测

打开 devtool -> performance,开始记录页面性能执行页面上切换其它异常信息的操作(页面最有可能引起内存泄漏的操作)查看性能分析结果

去掉beforeDestroy钩子后,业务层看起来好多了。

验证 利用 performance 功能,多次进行之前导致内存溢出的操作,得到结果如下

这里的每个峰值都是刚执行操作时内存分配的结果,每次执行后没有内存、节点、Listensers的积累

再次修正前比较性能分析结果

可怕的楼梯。。。

顺便再 memory 面板中出现了什么变化

还有一个StackFrameVar和一些额外的事件侦听器和观察器来呈现这个StackFrameVar对象。这是由于两次呈现的数据不同,这是正常情况

例外等。许多对象的增量已经是0(与增量的顺序相反)

其他说明

上面的分析图是在写这篇文章的过程中写回一些代码后实时分析的,相对没有实际调试的详细。在实际调试过程中还进行了其他操作:

隐私窗口,禁用所有扩展(避免影响内存分析)关闭开发模式HMR功能,因为 VUE_HOT_RELOAD 也会产生一层引用,我并不能完全信任它使用模拟数据,每次执行操作,都会渲染一样的可被人工计算清楚(知道哪个类会产生多少实例)的数据performance 过程中手动GC

以上方法是为了提供一个完全纯净可控的分析环境。

1.《内存溢出 记一次网页内存溢出分析及解决实践》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《内存溢出 记一次网页内存溢出分析及解决实践》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/fangchan/702612.html

上一篇

中国第一颗氢弹 老报纸:庆祝我国第一颗氢弹爆炸成功五十周年!

下一篇

柴静雾霾纪录片 柴静拍摄雾霾纪录片获关注 抗霾应是全民参与

中国驾照翻译公证 杭州人喜欢上出国自驾 驾照公证可这样操作

  • 中国驾照翻译公证 杭州人喜欢上出国自驾 驾照公证可这样操作
  • 中国驾照翻译公证 杭州人喜欢上出国自驾 驾照公证可这样操作
  • 中国驾照翻译公证 杭州人喜欢上出国自驾 驾照公证可这样操作

戒烟吃什么零食好 戒烟吃什么零食有帮助,戒烟过程中吃点什么好

  • 戒烟吃什么零食好 戒烟吃什么零食有帮助,戒烟过程中吃点什么好
  • 戒烟吃什么零食好 戒烟吃什么零食有帮助,戒烟过程中吃点什么好
  • 戒烟吃什么零食好 戒烟吃什么零食有帮助,戒烟过程中吃点什么好

pdf文件怎么编辑修改 pdf文件打开后怎么编辑修改?具体操作的方法在这里!

  • pdf文件怎么编辑修改 pdf文件打开后怎么编辑修改?具体操作的方法在这里!
  • pdf文件怎么编辑修改 pdf文件打开后怎么编辑修改?具体操作的方法在这里!
  • pdf文件怎么编辑修改 pdf文件打开后怎么编辑修改?具体操作的方法在这里!

神操作!女子超市监控下盗窃 猪肉猪骨丢进胸口 又连塞2桶油到裤裆

  • 神操作!女子超市监控下盗窃 猪肉猪骨丢进胸口 又连塞2桶油到裤裆
  • 神操作!女子超市监控下盗窃 猪肉猪骨丢进胸口 又连塞2桶油到裤裆
  • 神操作!女子超市监控下盗窃 猪肉猪骨丢进胸口 又连塞2桶油到裤裆

杨明鑫 恋梦空间2杨明鑫职业资料介绍 现实版厉致诚操作很帅

  • 杨明鑫 恋梦空间2杨明鑫职业资料介绍 现实版厉致诚操作很帅
  • 杨明鑫 恋梦空间2杨明鑫职业资料介绍 现实版厉致诚操作很帅
  • 杨明鑫 恋梦空间2杨明鑫职业资料介绍 现实版厉致诚操作很帅

cf双飞 cf: 这3种“骚操作”, 几乎所有老兵都会, 双飞、卡枪了解一下?

赚享 赚享客—最详细的赚享客项目介绍及操作流程

赢得客户属于于楚楚街,是腾讯战略性投资的电子商务项目  今天是创客项目启动的第二十天。可以百度搜索“赚客”。你可以看到,投资广告已经铺天盖地,到出版的时候,搜索收入客人的数量已经超过...

直播云课堂 网络直播云课堂线上培训操作指南

直播云课堂 网络直播云课堂线上培训操作指南

在微机浏览器中输入网址:http://1.com/d/uploads2/2020-10/29/ xdnwp 5 ifhe 0在主页上选择s版本下载,下载客户端并安装  打开桌面上的客...