繁体   English   中英

我是否只需要一个具有更多内存的EC2实例,还是此错误表明我的代码中存在问题?

[英]Do I just need an EC2 instance with more memory or does this error suggest issues in my code?

简短的回答是“代码中当然有问题”,但是就目前而言,我想知道我收到的错误消息是否可以帮助我解决特定的问题。 我的应用程序上运行的风帆 ,用从修改的EC2实例中运行的节点V8.1.2 这个Bitnami图像 实例类型为t2.small (2GB内存),无论如何我都应该升级它。

这是我应该仔细检查并用于查找错误的错误消息吗? 还是我应该切换到更大的实例并希望获得最好的结果? 提前致谢。

bitnami@ip-172-31-17-108:~$ sudo forever stopall
^[[A^[[A^[[A^[[A^[[A^[[A^[[A^[[A^[[A^[[A
<--- Last few GCs --->

[5547:0x3ec5a50]   111819 ms: Scavenge 6.7 (10.0) -> 6.3 (10.5) MB, 153.7 / 2.2 ms  allocation failure
[5547:0x3ec5a50]   130817 ms: Scavenge 7.3 (10.5) -> 6.8 (11.0) MB, 207.3 / 9.4 ms  allocation failure
[5547:0x3ec5a50]   164550 ms: Scavenge 7.8 (11.0) -> 7.3 (11.5) MB, 155.3 / 8.0 ms  allocation failure
[5547:0x3ec5a50]   203571 ms: Scavenge 8.2 (11.5) -> 7.6 (11.5) MB, 317.2 / 42.5 ms  allocation failure


<--- JS stacktrace --->

==== JS stack trace =========================================

Security context: 0x9d40a2a9891 <JS Object>
    1: patch [/opt/bitnami/nodejs/lib/node_modules/forever/node_modules/graceful-fs/polyfills.js:64] [pc=0x426fa5d7cb1](this=0x38dbb211729 <JS Global Object>,fs=0xfd51435b869 <an Object with deprecated map 0x4376127ec19>)
    2: patch [/opt/bitnami/nodejs/lib/node_modules/forever/node_modules/graceful-fs/graceful-fs.js:58] [pc=0x426fa5d6791](this=0x38dbb211729 <JS Global Object>,fs=0xfd51435b869...

FATAL ERROR: Committing semi space failed. Allocation failed - process out of memory
 1: node::Abort() [/opt/bitnami/nodejs/bin/.node.bin]
 2: 0x13647ec [/opt/bitnami/nodejs/bin/.node.bin]
 3: v8::Utils::ReportOOMFailure(char const*, bool) [/opt/bitnami/nodejs/bin/.node.bin]
 4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [/opt/bitnami/nodejs/bin/.node.bin]
 5: v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/opt/bitnami/nodejs/bin/.node.bin]
 6: v8::internal::Heap::CollectGarbage(v8::internal::GarbageCollector, v8::internal::GarbageCollectionReason, char const*, v8::GCCallbackFlags) [/opt/bitnami/nodejs/bin/.node.bin]
 7: v8::internal::Factory::NewMap(v8::internal::InstanceType, int, v8::internal::ElementsKind) [/opt/bitnami/nodejs/bin/.node.bin]
 8: v8::internal::Map::RawCopy(v8::internal::Handle<v8::internal::Map>, int) [/opt/bitnami/nodejs/bin/.node.bin]
 9: v8::internal::Map::CopyDropDescriptors(v8::internal::Handle<v8::internal::Map>) [/opt/bitnami/nodejs/bin/.node.bin]
10: v8::internal::Map::AddMissingTransitions(v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::DescriptorArray>, v8::internal::Handle<v8::internal::LayoutDescriptor>) [/opt/bitnami/nodejs/bin/.node.bin]
11: v8::internal::MapUpdater::ConstructNewMap() [/opt/bitnami/nodejs/bin/.node.bin]
12: v8::internal::MapUpdater::ReconfigureToDataField(int, v8::internal::PropertyAttributes, v8::internal::PropertyConstness, v8::internal::Representation, v8::internal::Handle<v8::internal::FieldType>) [/opt/bitnami/nodejs/bin/.node.bin]
13: 0xffc3a0 [/opt/bitnami/nodejs/bin/.node.bin]
14: v8::internal::Map::PrepareForDataProperty(v8::internal::Handle<v8::internal::Map>, int, v8::internal::PropertyConstness, v8::internal::Handle<v8::internal::Object>) [/opt/bitnami/nodejs/bin/.node.bin]
15: v8::internal::LookupIterator::PrepareForDataProperty(v8::internal::Handle<v8::internal::Object>) [/opt/bitnami/nodejs/bin/.node.bin]
16: v8::internal::Object::SetDataProperty(v8::internal::LookupIterator*, v8::internal::Handle<v8::internal::Object>) [/opt/bitnami/nodejs/bin/.node.bin]
17: v8::internal::Object::SetPropertyInternal(v8::internal::LookupIterator*, v8::internal::Handle<v8::internal::Object>, v8::internal::LanguageMode, v8::internal::Object::StoreFromKeyed, bool*) [/opt/bitnami/nodejs/bin/.node.bin]
18: v8::internal::Object::SetProperty(v8::internal::LookupIterator*, v8::internal::Handle<v8::internal::Object>, v8::internal::LanguageMode, v8::internal::Object::StoreFromKeyed) [/opt/bitnami/nodejs/bin/.node.bin]
19: v8::internal::StoreIC::Store(v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Name>, v8::internal::Handle<v8::internal::Object>, v8::internal::Object::StoreFromKeyed) [/opt/bitnami/nodejs/bin/.node.bin]
20: v8::internal::Runtime_StoreIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*) [/opt/bitnami/nodejs/bin/.node.bin]
21: 0x426fa38437d
bitnami@ip-172-31-17-108:~$ <--- JS stacktrace --->^C
bitnami@ip-172-31-17-108:~$ cd my-sails-api/
bitnami@ip-172-31-17-108:~/my-sails-api$ sudo sails lift


<--- Last few GCs --->

[5562:0x2739a40]    79195 ms: Scavenge 5.7 (10.1) -> 5.6 (9.6) MB, 304.7 / 8.1 ms  allocation failure
[5562:0x2739a40]    98188 ms: Scavenge 6.6 (9.6) -> 5.9 (10.1) MB, 252.5 / 24.5 ms  allocation failure


<--- JS stacktrace --->

==== JS stack trace =========================================

Security context: 0x25f39c629891 <JS Object>
    2: constructor(aka Duplex) [_stream_duplex.js:48] [pc=0x178f7677eb54](this=0x20617eab9791 <a WriteStream with map 0x1d0c9952641>,options=0x20617eab98e9 <an Object with map 0x1d0c9952329>)
    3: constructor(aka Socket) [net.js:197] [pc=0x178f7677de42](this=0x20617eab9791 <a WriteStream with map 0x1d0c9952641>,options=0x20617eab98e9 <an Object with map 0x1d0c9952329>)
    4: new constructor(...

FATAL ERROR: Committing semi space failed. Allocation failed - process out of memory
 1: node::Abort() [/opt/bitnami/nodejs/bin/.node.bin]
 2: 0x13647ec [/opt/bitnami/nodejs/bin/.node.bin]
 3: v8::Utils::ReportOOMFailure(char const*, bool) [/opt/bitnami/nodejs/bin/.node.bin]
 4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [/opt/bitnami/nodejs/bin/.node.bin]
 5: v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/opt/bitnami/nodejs/bin/.node.bin]
 6: v8::internal::Heap::CollectGarbage(v8::internal::GarbageCollector, v8::internal::GarbageCollectionReason, char const*, v8::GCCallbackFlags) [/opt/bitnami/nodejs/bin/.node.bin]
 7: v8::internal::Factory::NewCode(v8::internal::CodeDesc const&, unsigned int, v8::internal::Handle<v8::internal::Object>, bool, bool, int, bool) [/opt/bitnami/nodejs/bin/.node.bin]
 8: v8::internal::CodeGenerator::MakeCodeEpilogue(v8::internal::MacroAssembler*, v8::internal::EhFrameWriter*, v8::internal::CompilationInfo*, v8::internal::Handle<v8::internal::Object>) [/opt/bitnami/nodejs/bin/.node.bin]
 9: v8::internal::FullCodeGenerator::MakeCode(v8::internal::CompilationInfo*, unsigned long) [/opt/bitnami/nodejs/bin/.node.bin]
10: v8::internal::FullCodegenCompilationJob::ExecuteJobImpl() [/opt/bitnami/nodejs/bin/.node.bin]
11: v8::internal::CompilationJob::ExecuteJob() [/opt/bitnami/nodejs/bin/.node.bin]
12: 0xd97d90 [/opt/bitnami/nodejs/bin/.node.bin]
13: 0xd98b28 [/opt/bitnami/nodejs/bin/.node.bin]
14: 0xd98d8f [/opt/bitnami/nodejs/bin/.node.bin]
15: 0xd9ce59 [/opt/bitnami/nodejs/bin/.node.bin]
16: v8::internal::Compiler::Compile(v8::internal::Handle<v8::internal::JSFunction>, v8::internal::Compiler::ClearExceptionFlag) [/opt/bitnami/nodejs/bin/.node.bin]
17: v8::internal::Runtime_CompileLazy(int, v8::internal::Object**, v8::internal::Isolate*) [/opt/bitnami/nodejs/bin/.node.bin]
18: 0x178f7658437d
bitnami@ip-172-31-17-108:~/my-sails-api$
bitnami@ip-172-31-17-108:~/my-sails-api$ sudo sails lift
-bash: fork: Cannot allocate memory
bitnami@ip-172-31-17-108:~/my-sails-api$

默认情况下,node.js不允许您在一个进程中分配超过1.7GB的空间,因此没有-升级没有意义,除非您确定不能在代码中做任何事情以消耗更少的内存(例如使用流) 。

如果没有其他选择,可以尝试通过设置以下选项来增加允许的内存大小,但要记住,这可能会影响程序的速度:

--max_old_space_size <size in mb>

运行node --v8-options以获取更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM