如何解决NodeJS应用启动时出现的内存溢出问题
前言
对于较大型的JS前端项目,如果用到了很多的依赖包,并且其中的TypeScript依赖存在各种优化问题,就有可能会在启动编译的时候,出现内存溢出的问题。
近些天,笔者在公司维护前端项目时,就遇到了上述问题,导致无法启动,在经过各种搜索后,终于找到了暂时的解决方案,记录在这里以作纪念。
报错信息
FETAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
解决方案
上述问题的出现原因,是因为NodeJs有默认的内存限制,只需要在运行npm start
的控制台窗口运行下述指令修改内存上限即可:
1 | $env:NODE_OPTIONS='--max-old-space-size=8192' |
后记
当然,上面的解决方案并不是最优解,很多时候出现内存溢出问题是因为依赖管理的不合理,最好的办法是溯源哪些依赖存在问题并进行修改,然而,毕竟是给公司打工,凑合能解决就得了,也不需要臻于完美。