前端项目居然会内存溢出,原因有点难以理解.......

我的博客原文

前言

很久没有写博客了,原因主要是要考试了,闭关修炼中。。。。。。

本来我该继续闭关修炼,不理会博客日志的,但咱遇见了公司上面的神奇事儿,所以说就更新了这篇日志,记录一下排查思路和排查过程。

运行失败,内存溢出

公司上面有个老项目需要搭把手,就被抓去救火了。但项目运行不起来,内存溢出 ,而且很奇怪,只有我的电脑有这个问题,其他人都没有问题。就得想办法让项目跑起来。(注意哈,是内存溢出,不是内存泄漏) (lll¬ω¬)

这种情况虽然是第一次见到,但可以通过修改node内存限制--max-old-space-size=XX(单位MB)来修改内存使用上限,就像这样:

如果使用其他整合框架,就看看整合框架有没有对应的配置

还是溢出,开始排查

修改成8G内存还是溢出,所以说我怀疑某个地方是否是写了死循环。

排查方向就分为两部分webpack架构和每一个单页面配置(因为项目是多个单页面架构)

webpack框架(目标不在此)

根据现有结构,将所有单页面配置全部注释,自己额外写一个单页面,能运行,webpack没有问题。

逐一调查每个单页面(发现头绪)

多个单页面也不多,十多个一个一个排查就可以了,最后找到一个单页面出现内存溢出现象,再细化位置,找到了异常点。

这里出现了死循环,就会一直持续不断的使用内存。

最后结论:恶意代码

现在回到开头,为什么我运行项目会内存溢出,其他人正常。因为我clone的项目,包都是现下的,就下到最新的有问题的包 ,而其他人还在用上一个小版本,所以说咱运行时内存溢出了。

在私有依赖仓库里面找到版本,通知管理员删除问题版本,ok,咱继续救火去了。

后话

还好这个是私有依赖,没有放在npm/github上面,并且只影响这个项目启动,不影响实际生产。但咱还是得说说,加入恶意代码这个行为不地道啊。

相关推荐
LucianaiB10 小时前
【元宝搜索开发者征文大赛】AI时代,学得慢就不用学?用元宝搜索打造一个教程保质期,确保每一个教程符合你的现状
前端·人工智能·ai编程
excel10 小时前
JavaScript 对象池:减少高频对象创建与 GC 压力
前端
陈随易12 小时前
纯 Go 写的 JS 引擎,跑分超过了 C 语言的 QuickJS
前端·后端·程序员
子兮曰13 小时前
Chrome 权限元素实战:144 与 151 的渐进增强写法
前端·javascript·chrome
IT_陈寒13 小时前
Redis连接池泄漏那次,我差点把生产环境搞崩了
前端·人工智能·后端
强尼银手13 小时前
我花一天做了个格斗游戏原型,判定全对,然后被「美术」劝退了
前端·javascript
石小石Orz14 小时前
AI 正在蚕食我们的编码能力
前端·后端·算法
陈随易14 小时前
专注飞机 FocusFlight,两个人把番茄钟做成了一趟航班
前端·后端·程序员
总要学点什么15 小时前
第98篇:三维特效-材质线效果——给一条线换十种材质,虚线的图案只填了一半
开发语言·前端·javascript·ecmascript·gis·webgl·材质
10share15 小时前
基于大模型的 i18n 方案:把中文原文当 Key,轻松搞定多语言维护
前端·vue.js