NEWS
FATAL ERROR: JavaScript heap out of memory
-
Hallo zusammen,
bei Backitup bekomme ich folgende Fehlermeldung:
Started iobroker ... [DEBUG] [iobroker] - host.ioBroker2 13272 states saved [DEBUG] [iobroker] - host.ioBroker2 15695 objects saved [ERROR] [iobroker] - <--- Last few GCs ---> [3256979:0x5a8e810] 32560 ms: Scavenge (reduce) 2046.7 (2049.2) -> 2046.6 (2049.9) MB, 3.2 / 0.0 ms (average mu = 0.966, current mu = 0.857) allocation failure [3256979:0x5a8e810] 32635 ms: Mark-sweep (reduce) 2047.6 (2049.9) -> 2047.6 (2050.9) MB, 67.8 / 0.0 ms (+ 10.0 ms in 30 steps since start of marking, biggest step 8.3 ms, walltime since start of marking 99 ms) (average mu = 0.945, current mu = 0.355) <--- JS stacktrace ---> FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory [ERROR] [iobroker] - 1: 0xb02960 node::Abort() [/usr/bin/node] 2: 0xa18149 node::FatalError(char const*, char const*) [/usr/bin/node] 3: 0xcdd22e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/usr/bin/node] 4: 0xcdd5a7 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/usr/bin/node] 5: 0xe94c15 [/usr/bin/node] 6: 0xea48dd v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/usr/bin/node] 7: 0xea75de v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/usr/bin/node] 8: 0xe68852 v8::internal::Factory::AllocateRaw(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [/usr/bin/node] 9: 0xe60e64 v8::internal::FactoryBase<v8::internal::Factory>::AllocateRawWithImmortalMap(int, v8::internal::AllocationType, v8::internal::Map, v8::internal::AllocationAlignment) [/usr/bin/node] 10: 0xe62b70 v8::internal::FactoryBase<v8::internal::Factory>::NewRawOneByteString(int, v8::internal::AllocationType) [/usr/bin/node] 11: 0xf86c79 v8::internal::JsonParser<unsigned short>::MakeString(v8::internal::JsonString const&, v8::internal::Handle<v8::internal::String>) [/usr/bin/node] 12: 0xf88d4d v8::internal::JsonParser<unsigned short>::ParseJsonValue() [/usr/bin/node] 13: 0xf894df v8::internal::JsonParser<unsigned short>::ParseJson() [/usr/bin/node] 14: 0xd5f12b v8::internal::Builtin_JsonParse(int, unsigned long*, v8::internal::Isolate*) [/usr/bin/node] 15: 0x15d55d9 [/usr/bin/node]
Ich habe das Forum schon durchsucht, aber richtig fündig wurde ich nicht.
Mein System hat 8GB RAM und ioBroker läuft im Docker.
Die Speicherung soll in Dropbox erfolgen.broker@ioBroker2:/opt/iobroker# free -h total used free shared buff/cache available Mem: 7,6Gi 3,4Gi 2,6Gi 2,0Mi 1,6Gi 3,9Gi Swap: 4,2Gi 2,1Gi 2,2Gi
VG
PlaNeT -
@planetkeane sagte in FATAL ERROR: JavaScript heap out of memory:
Mein System hat 8GB RAM und ioBroker läuft im Docker.
Der sog. Heap von nodeJS ist auf 2GB begrenzt. Da kannste RAM ohne Ende haben.
Ich würde versuchen das Backup abzuspecken.
-
Das Backup umfasst nur den ioBroker und Javascript. Eine abspeckung kann ich da (glaube ich) nicht vornehmen
-
Und ich glaube, du solltest auch nicht als root über das System hampeln.
-
Stimmt, habe es nur "auf die schnelle" gemacht, um die Werte auszulesen
-
@planetkeane Und den root dann versucht zu kaschieren? Das ist ja aufwändiger als gleich vernünftig zu arbeiten. Zumal für den Aufruf von
free
nochnichtmal root-Rechte erforderlich wären.
Du hast dich also extra für das Auslesen als root angemeldet, was auch als Standarduser gegangen wäre?Aber ich sehe schon, du weißt was du tust...
-
Wieso regst du dich so auf? Ich denke schon dass ich weiß was ich tue. Und das ich für free keine Root-Rechte brauche ist mir durchaus bewusst. Portainer startet die Konsole automatisch in root solang man nicht einen anderen User angibt.
Und durch den Aufruf von free verändere ich auch keine Systemdateien. Keep cool -
Ich rege mich nicht auf, ich amüsiere mich.