我的用例
我的问题
我的内存堆在某个时候运行了,进程中断了。这是我得到的错误
1 |代理| <---后几个GC --->
1 |代理| [11552:0x4063010] 143107毫秒:清除4416.2(4694.3)-> 4401.6(4694.3)MB,4.0 / 0.0毫秒分配失败
1 |代理| [11552:0x4063010] 143373毫秒:清除4416.2(4694.3)-> 4401.7(4694.3)MB,4.2 / 0.0毫秒分配失败
1 |代理| [11552:0x4063010] 143639 ms:清除4416.2(4694.3)-> 4401.6(4694.3)MB,4.1 / 0.0 ms分配失败
1 |代理| [11552:0x4063010] 143904毫秒:清除4416.2(4694.3)-> 4401.6(4694.3)MB,3.6 / 0.0毫秒分配失败
1 |代理| <--- JS堆栈跟踪--->
1 |代理| ==== JS堆栈跟踪========================================
1 |代理|安全上下文:0x31ced5525ee1 1 |代理| 1:_callee37 $ [/StackData/bd/tools/proxy/server.js:~3482]
[pc = 0x22e6d2a49018](this = 0x1b549e48b339,_context37 = 0x325a9be822f1) 1 |代理| 3:tryCatch(aka tryCatch)[/StackData/bd/node_modules/babel-polyfill/node_modules/regenerator-runtime/runtime.js:65] [bytecode = 0x170c5857ef81 offset = 15](this = 0x3b92b1582311
,fn = 0x325a9be82201 <...
1 |代理| 24-05 11:53:52.997:致命错误:无效的数组长度分配失败-JavaScript堆内存不足
到目前为止我尝试过的事情
process.memoryUsage()
验证了错误发生前我的堆大小是多少
内存位于:{“ rss”:5161619456,“ heapTotal”:4920782848 ,“ heapUsed”:4615629928,“ external”:10992199}
--max_old_space_size=8192
添加到了启动脚本中,但无济于事,从以前的日志打印中可以看出,这是完整的启动命令:/usr/bin/pm2 --log-date-format 'DD-MM HH:mm:ss.SSS' -x -i 1 start node --node-args="--max_old_space_size=8192 -r babel-register" /StackData/bd/tools/proxy/proxy.js
node --version
的节点8.9.4版本还有其他想法我还能做什么吗?