簡體   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