我运行了我的服务器应用程序,使用NodeJS编写了大约15天。然后突然〜4小时前,它坠毁并重新启动。感谢forever
脚本,我发现下面的错误:NodeJS - 可能内存不足?
(node:30317) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 completed listeners added. Use emitter.setMaxListeners() to increase limit
(node:30317) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 completed listeners added. Use emitter.setMaxListeners() to increase limit
FATAL ERROR: Committing semi space failed. Allocation failed - process out of memory
1: node::Abort() [MyServerApp]
2: 0x126264c [MyServerApp]
3: v8::Utils::ReportOOMFailure(char const*, bool) [MyServerApp]
4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [MyServerApp]
5: v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [MyServerApp]
6: v8::internal::Heap::CollectGarbage(v8::internal::GarbageCollector, char const*, char const*, v8::GCCallbackFlags) [MyServerApp]
7: v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationSpace) [MyServerApp]
8: v8::internal::Runtime_AllocateInTargetSpace(int, v8::internal::Object**, v8::internal::Isolate*) [MyServerApp]
9: 0xccdc6808506
(node:14681) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 completed listeners added. Use emitter.setMaxListeners() to increase limit
(node:14681) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 completed listeners added. Use emitter.setMaxListeners() to increase limit
这是什么错误?是否由于我的物理服务器内存不足?
我的物理服务器是AWS t2 micro
例如,内存压力大约是:78x/992MB
下面是我的服务器应用程序的信息,通过htop
印刷:
VIRT: 1181M
RES: 32816
SHR: 9452
CPU%: 0
MEM%: 3.3
感谢
这通常意味着你正在创建新的对象而不废除旧的。所以,垃圾收集器不会删除它们。可悲的是,一些内存泄漏难以追踪。 – Desaroll