问题描述
我正在使用 Forever JS 来持续运行我的节点 JS 服务器,但偶尔会出现服务器崩溃和站点关闭一段时间的情况.
I am using forever JS to run my node JS server continuously, however occasionally the server crashes and site goes down for some time.
我查看了永久日志,这里显示:
I looked at the forever logs, and here it shows:
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory
<--- Last few GCs --->
35251732 ms: Mark-sweep 687.6 (219898.0) -> 687.6 (527360.0) MB, 13522.0 / 0 ms [allocation failure] [scavenge might not succeed].
35267178 ms: Mark-sweep 687.6 (527360.0) -> 687.6 (940128.0) MB, 15445.8 / 0 ms [allocation failure] [scavenge might not succeed].
35282842 ms: Mark-sweep 687.6 (940128.0) -> 687.6 (1352896.0) MB, 15664.3 / 0 ms [last resort gc].
35298326 ms: Mark-sweep 687.6 (1352896.0) -> 687.6 (1765664.0) MB, 15483.8 / 0 ms [last resort gc].
<--- JS stacktrace --->
==== JS stack trace =========================================
Security context: 0x82f80fa5a91 <JS Object>
2: decode(aka utf8decode) [/home/ubuntu/chat2/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/utf8/utf8.js:~200] [pc=0x19db242bd813] (this=0x1ea709fcc4c9 <an Object with map 0xedc29877b11>,byteString=0x1bd8952f0461 <Very long string[8570662]>)
3: decodePacket [/home/ubuntu/chat2/node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-...
error: Forever detected script was killed by signal: SIGABRT
error: Script restart attempt #9
Server running at http://localhost:1337/
以下是我在 console.log 文件中发现的更多导致节点崩溃的错误:
Here are some more errors I found in my console.log file causing node to crash:
error: Forever detected script was killed by signal: SIGKILL
error: Script restart attempt #11
Error: read ECONNRESET
at exports._errnoException (util.js:870:11)
at TCP.onread (net.js:544:26)
RangeNotSatisfiableError: Range Not Satisfiable
at SendStream.error (/home/ubuntu/chat2/node_modules/express/node_modules/connect/node_modules/serve-static/node_modules/send/index.js:245:31)
at SendStream.send (/home/ubuntu/chat2/node_modules/express/node_modules/connect/node_modules/serve-static/node_modules/send/index.js:564:19)
at onstat (/home/ubuntu/chat2/node_modules/express/node_modules/connect/node_modules/serve-static/node_modules/send/index.js:624:10)
at FSReqWrap.oncomplete (fs.js:82:15)
知道如何解决这个问题吗?我似乎找不到错误?
Any idea on how to fix this? I can't seem to find the error ?
推荐答案
你可以尝试使用这个来增加 node js 中的内存限制,
You can try to increase the memory limit in node js using this,
节点 --max_old_space_size=8192 --optimize_for_size--max_executable_size=4096 --stack_size=4096
你可以这样使用它:
节点 --max_old_space_size=8192 --optimize_for_size--max_executable_size=4096 --stack_size=4096 yourfile.js
这篇关于Node JS进程内存不足的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!