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/
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 ?
This error occurs when the memory allocated for the execution application is less than the required memory when run application. By default the memory limit in Node.js is 512 mb, to solve this issue you need to increasing the memory limit use command —- max-old-space-size .It can be avoid the memory limit issue. That’s it. Happy coding!
If you have seen the error above, it means your NodeJS application has ran out of memory, it has consumes more memory than what is allocated and that eventually caused it to kill itself.
It is recommended to always explicitly set the --max-old-space-size instead of relying on default imposed by Node.js, as that can change without notice in a newer Node.js version. On a machine with 2 GB of memory, consider setting this to 1536 (1.5 GB) to leave some memory for other uses and avoid memory swapping.
You can try to increase the memory limit in node js using this,
node --max_old_space_size=8192 --optimize_for_size --max_executable_size=4096 --stack_size=4096
You can use it like this:
node --max_old_space_size=8192 --optimize_for_size --max_executable_size=4096 --stack_size=4096 yourfile.js
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With