Node MemoryLeak

内存溢出

node内存溢出而停止build项目, 即是项目构建过程中频繁报内存溢出:FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory。 并且打包速度相当慢,估计项目过大了。

Node 是基于V8引擎,在 Node 中通过 JavaScript 使用内存时只能使用部分内存(64位系统下约为1.4 GB,32位系统下约为0.7 GB)

Node 在启动时可以传递 --max-old-space-size 或 --max-new-space-size 来调整内存大小的使用限制

node --max-old-space-size=1700 test.js // 单位为MB
// 或者
node --max-new-space-size=1024 test.js // 单位为KB

方案一

  • 使用 increase-memory-limit npm包增增加node服务器内存限制

方案二

  • 单独调整

  • Vue

     
    // package.json 里面 scripts 内存设置为 4G,可自定义设置大小
    "build": "node --max_old_space_size=4096 build/build.js"
    
  • React

    // 寻找node_models -> .bin -> react-scripts -> 打开 -> 看到首行 #!/usr/bin/env node 修改为
    #!/usr/bin/env node --max_old_space_size=4096
    
  • Angular

    // 寻找node_models -> .bin -> ng -> 打开 -> 看到首行 #!/usr/bin/env node 修改为
    #!/usr/bin/env node --max_old_space_size=4096
    

Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.icon-default.png?t=M1FBhttps://serious-lose.notion.site/Node-MemoryLeak-3dfcfba8b7644c9db8f6893e1b9c7020 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值