<--- Last few GCs --->
[12790:0x102801e00] 95376 ms: Mark-sweep 1598.2 (1661.2) -> 1595.2 (1664.7) MB, 947.3 / 0.0 ms allocation failure GC in old space requested
[12790:0x102801e00] 96277 ms: Mark-sweep 1595.2 (1664.7) -> 1595.1 (1633.7) MB, 901.6 / 0.0 ms last resort GC in old space requested
[12790:0x102801e00] 97174 ms: Mark-sweep 1595.1 (1633.7) -> 1595.1 (1633.7) MB, 896.5 / 0.0 ms last resort GC in old space requested
<--- JS stacktrace --->
==== JS stack trace =========================================
Security context: 0x32039ae254d9 <JSObject>
1: /* anonymous */ [/Users/adminUser/workspace/project/server/node_modules/mysql/lib/protocol/Protocol.js:~231] [pc=0x39ef11fb856a](this=0x3203461baf99 <Protocol map = 0x320370c024c1>)
2: arguments adaptor frame: 1->0
3: write [/Users/adminUser/workspace/project/server/node_modules/mysql/lib/protocol/Parser.js:~27] [pc=0x39ef11fafbe6]...
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
1: node::Abort() [/Users/adminUser/.nvm/versions/node/v9.5.0/bin/node]
2: node::OnFatalError(char const*, char const*) [/Users/adminUser/.nvm/versions/node/v9.5.0/bin/node]
3: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [/Users/adminUser/.nvm/versions/node/v9.5.0/bin/node]
4: v8::internal::Factory::NewUninitializedFixedArray(int) [/Users/adminUser/.nvm/versions/node/v9.5.0/bin/node]
5: v8::internal::(anonymous namespace)::ElementsAccessorBase<v8::internal::(anonymous namespace)::FastPackedObjectElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)2> >::GrowCapacity(v8::internal::Handle<v8::internal::JSObject>, unsigned int) [/Users/adminUser/.nvm/versions/node/v9.5.0/bin/node]
6: v8::internal::Runtime_GrowArrayElements(int, v8::internal::Object**, v8::internal::Isolate*) [/Users/adminUser/.nvm/versions/node/v9.5.0/bin/node]
7: 0x39ef11e042fd
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
出现这个错误我一脸懵逼,昨天调试还好好的,今天就TM溢出了,猜测是redis的问题。
寻找各种解决方法,大致都说要设置 —-max_old_space_size 的值
可是本地测试环境成功了,但线上无法解决问题。
然而找到一篇解决溢出原理的方法:https://www.w3ctech.com/topic/842 仅参考