NEWS
JS:Out of memory
-
Hi,
Habe schon gelesen, dass einige auch mein Problem haben, aber (noch) nicht auf eine Lösung gestossen sind.
Folgendes:
ioBroker in einem LX-Container auf ProxmoxVersionen:
Proxmox 6.4.6
Node 12.22.1
Nodejs 12.22.1
Npm 6.14.12Sporadisch startet beim mir Javascript (Node Red) neu. Ist natürlich ärgerlich da immer wieder Daten oder Zustände verloren gehen. Ist der Speicher von JS relativ knapp? Eigentlich läuft nicht gerade viel auf dem System.
Wie kann ich das Problem näher eingrenzen? Erkenne im Log vom ioBroker nur beim Problem, dass eben der Speicher zu knapp wurde und der Adapter frisch gestartet wurde.Danke im voraus für eure Hilfe. Bin zwar schon länger mit ioBroker unterwegs aber hier steh ich an.
Patrick
Hier ein Auszug aus dem Memory:
Top
top - 12:36:46 up 14 days, 19:19, 1 user, load average: 0.33, 0.29, 0.19 Tasks: 49 total, 1 running, 48 sleeping, 0 stopped, 0 zombie %Cpu(s): 3.1 us, 0.0 sy, 0.0 ni, 96.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 4096.0 total, 2653.3 free, 1276.9 used, 165.8 buff/cache MiB Swap: 2048.0 total, 1688.5 free, 359.5 used. 2819.1 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 8864 iobroker 20 0 1021480 140836 15680 S 1.8 3.4 462:06.54 node 26368 iobroker 20 0 1237352 251200 27296 S 1.4 6.0 14:17.88 node 9068 iobroker 20 0 685180 74216 15348 S 0.7 1.8 42:37.26 node 9498 iobroker 20 0 659172 50792 12356 S 0.7 1.2 73:15.28 node 9318 iobroker 20 0 973964 106516 13980 S 0.4 2.5 97:08.56 node 9348 iobroker 20 0 631696 36712 10608 S 0.4 0.9 4:59.78 node 9451 iobroker 20 0 944940 79932 14388 S 0.4 1.9 20:59.44 node 1 root 20 0 170544 10452 6744 S 0.0 0.2 0:06.32 systemd 55 root 19 -1 68032 15304 13992 S 0.0 0.4 0:01.10 systemd-journal 79 systemd+ 20 0 18596 7180 6180 S 0.0 0.2 0:40.29 systemd-network 99 _rpc 20 0 7104 3808 3384 S 0.0 0.1 0:00.97 rpcbind 100 systemd+ 20 0 24156 11384 7164 S 0.0 0.3 0:01.26 systemd-resolve 143 root 20 0 3816 2432 2180 S 0.0 0.1 0:01.12 cron 144 message+ 20 0 7580 4300 3624 S 0.0 0.1 0:00.22 dbus-daemon 149 root 20 0 26248 14072 6472 S 0.0 0.3 0:00.10 networkd-dispat 151 syslog 20 0 224348 3936 3420 S 0.0 0.1 0:00.20 rsyslogd 153 root 20 0 16996 6656 5716 S 0.0 0.2 0:01.35 systemd-logind 174 root 20 0 12176 6248 5408 S 0.0 0.1 0:00.00 sshd 175 root 20 0 2632 1900 1788 S 0.0 0.0 0:00.00 agetty 176 root 20 0 5992 3512 2724 S 0.0 0.1 0:00.00 login 178 root 20 0 2632 1692 1580 S 0.0 0.0 0:00.00 agetty 331 root 20 0 38032 4356 3876 S 0.0 0.1 0:02.99 master 333 postfix 20 0 38352 5540 5048 S 0.0 0.1 0:00.58 qmgr 4322 pi 20 0 18228 6916 5780 S 0.0 0.2 0:00.01 systemd 4323 pi 20 0 23536 2768 0 S 0.0 0.1 0:00.00 (sd-pam) 4327 pi 20 0 5164 4208 2636 S 0.0 0.1 0:00.06 bash 6804 iobroker 20 0 655716 13932 13932 S 0.0 0.3 0:00.14 node 8811 iobroker 20 0 903344 61048 15692 S 0.0 1.5 3:25.38 node 8882 iobroker 20 0 940868 90324 14432 S 0.0 2.2 7:52.22 node 8897 iobroker 20 0 962912 104704 16364 S 0.0 2.5 8:25.17 node 8912 iobroker 20 0 630380 39148 10744 S 0.0 0.9 4:58.15 node 8927 iobroker 20 0 915772 49792 14744 S 0.0 1.2 5:32.59 node 9298 iobroker 20 0 655700 3420 3420 S 0.0 0.1 0:00.14 node 9371 iobroker 20 0 636676 53888 12252 S 0.0 1.3 5:58.70 node 9386 iobroker 20 0 639256 52940 11988 S 0.0 1.3 20:54.65 node 9406 iobroker 20 0 628112 36388 10600 S 0.0 0.9 4:56.39 node 9421 iobroker 20 0 649060 41016 10684 S 0.0 1.0 4:58.45 node 9436 iobroker 20 0 658564 55772 14832 S 0.0 1.3 5:08.06 node
free -m
pi@ioBroker-zw:~$ free -m total used free shared buff/cache available Mem: 4096 1311 2619 0 165 2784 Swap: 2047 359 1688 pi@ioBroker-zw:~$
who -r
pi@ioBroker-zw:~$ who -r run-level 3 Jun 1 10:07 last=5 pi@ioBroker-zw:~$
-
@valbuz ja was den jetzt NUC oder pi??
-
@arteck NUC
pi war nur der Name von früher
-
@valbuz said in JS:Out of memory:
Hi,
Habe schon gelesen, dass einige auch mein Problem haben, aber (noch) nicht auf eine Lösung gestossen sind.
Folgendes:
ioBroker in einem LX-Container auf ProxmoxVersionen:
Proxmox 6.4.6
Node 12.22.1
Nodejs 12.22.1
Npm 6.14.12Sporadisch startet beim mir Javascript (Node Red) neu. Ist natürlich ärgerlich da immer wieder Daten oder Zustände verloren gehen. Ist der Speicher von JS relativ knapp? Eigentlich läuft nicht gerade viel auf dem System.
Wie kann ich das Problem näher eingrenzen? Erkenne im Log vom ioBroker nur beim Problem, dass eben der Speicher zu knapp wurde und der Adapter frisch gestartet wurde.Danke im voraus für eure Hilfe. Bin zwar schon länger mit ioBroker unterwegs aber hier steh ich an.
Patrick
Hier ein Auszug aus dem Memory:
Top
top - 12:36:46 up 14 days, 19:19, 1 user, load average: 0.33, 0.29, 0.19 Tasks: 49 total, 1 running, 48 sleeping, 0 stopped, 0 zombie %Cpu(s): 3.1 us, 0.0 sy, 0.0 ni, 96.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 4096.0 total, 2653.3 free, 1276.9 used, 165.8 buff/cache MiB Swap: 2048.0 total, 1688.5 free, 359.5 used. 2819.1 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 8864 iobroker 20 0 1021480 140836 15680 S 1.8 3.4 462:06.54 node 26368 iobroker 20 0 1237352 251200 27296 S 1.4 6.0 14:17.88 node 9068 iobroker 20 0 685180 74216 15348 S 0.7 1.8 42:37.26 node 9498 iobroker 20 0 659172 50792 12356 S 0.7 1.2 73:15.28 node 9318 iobroker 20 0 973964 106516 13980 S 0.4 2.5 97:08.56 node 9348 iobroker 20 0 631696 36712 10608 S 0.4 0.9 4:59.78 node 9451 iobroker 20 0 944940 79932 14388 S 0.4 1.9 20:59.44 node 1 root 20 0 170544 10452 6744 S 0.0 0.2 0:06.32 systemd 55 root 19 -1 68032 15304 13992 S 0.0 0.4 0:01.10 systemd-journal 79 systemd+ 20 0 18596 7180 6180 S 0.0 0.2 0:40.29 systemd-network 99 _rpc 20 0 7104 3808 3384 S 0.0 0.1 0:00.97 rpcbind 100 systemd+ 20 0 24156 11384 7164 S 0.0 0.3 0:01.26 systemd-resolve 143 root 20 0 3816 2432 2180 S 0.0 0.1 0:01.12 cron 144 message+ 20 0 7580 4300 3624 S 0.0 0.1 0:00.22 dbus-daemon 149 root 20 0 26248 14072 6472 S 0.0 0.3 0:00.10 networkd-dispat 151 syslog 20 0 224348 3936 3420 S 0.0 0.1 0:00.20 rsyslogd 153 root 20 0 16996 6656 5716 S 0.0 0.2 0:01.35 systemd-logind 174 root 20 0 12176 6248 5408 S 0.0 0.1 0:00.00 sshd 175 root 20 0 2632 1900 1788 S 0.0 0.0 0:00.00 agetty 176 root 20 0 5992 3512 2724 S 0.0 0.1 0:00.00 login 178 root 20 0 2632 1692 1580 S 0.0 0.0 0:00.00 agetty 331 root 20 0 38032 4356 3876 S 0.0 0.1 0:02.99 master 333 postfix 20 0 38352 5540 5048 S 0.0 0.1 0:00.58 qmgr 4322 pi 20 0 18228 6916 5780 S 0.0 0.2 0:00.01 systemd 4323 pi 20 0 23536 2768 0 S 0.0 0.1 0:00.00 (sd-pam) 4327 pi 20 0 5164 4208 2636 S 0.0 0.1 0:00.06 bash 6804 iobroker 20 0 655716 13932 13932 S 0.0 0.3 0:00.14 node 8811 iobroker 20 0 903344 61048 15692 S 0.0 1.5 3:25.38 node 8882 iobroker 20 0 940868 90324 14432 S 0.0 2.2 7:52.22 node 8897 iobroker 20 0 962912 104704 16364 S 0.0 2.5 8:25.17 node 8912 iobroker 20 0 630380 39148 10744 S 0.0 0.9 4:58.15 node 8927 iobroker 20 0 915772 49792 14744 S 0.0 1.2 5:32.59 node 9298 iobroker 20 0 655700 3420 3420 S 0.0 0.1 0:00.14 node 9371 iobroker 20 0 636676 53888 12252 S 0.0 1.3 5:58.70 node 9386 iobroker 20 0 639256 52940 11988 S 0.0 1.3 20:54.65 node 9406 iobroker 20 0 628112 36388 10600 S 0.0 0.9 4:56.39 node 9421 iobroker 20 0 649060 41016 10684 S 0.0 1.0 4:58.45 node 9436 iobroker 20 0 658564 55772 14832 S 0.0 1.3 5:08.06 node
free -m
pi@ioBroker-zw:~$ free -m total used free shared buff/cache available Mem: 4096 1311 2619 0 165 2784 Swap: 2047 359 1688 pi@ioBroker-zw:~$
who -r
pi@ioBroker-zw:~$ who -r run-level 3 Jun 1 10:07 last=5 pi@ioBroker-zw:~$
kannst du die uhrzeiten genau eingrenzen?
dann könntest du noch im syslog nachschauen.
das und seine Archivierungen liegen meist unter
/var/log/Ich kenne proxmox leider nicht, aber wird da nicht der speicherverbrauch aufgezeichnet? wenn er per prozess aufgezeichnet wird, dann musst du mal nach Prozessen schauen, welche immer mehr speicher verbrauchen.
vor einiger zeit hatte aber jemand das selbe problem und ich tippe auf memory leaks bei einer deiner skripte.
les dir mal die beiden folgenden threads durch
https://forum.iobroker.net/topic/42792/javascript-heap-out-of-memory-workaround/2?_=1623240989781
und
https://forum.iobroker.net/topic/40101/gelöst-speicherlecks-im-iobroker?_=1623241091971
-
@oliverio Danke für Deine Antwort und die Links.
Werde mich mal durcharbeiten und hoffe was zu finden....
syslog ist ein guter Hinweis. DankePat
-
Also ich habe noch eine weitere Info.
Mir fällt auf, dass mehrheitlich das Problem beim Deployen von Aenderungen in NodeRed stattfindet.Danke nochmals
Hier ein aktueller Logauszug:
2021-06-10 14:35:45.979 - [34mdebug[39m: node-red.0 (31383) 10 Jun 14:35:45 - [info] Stopping modified nodes 2021-06-10 14:35:46.000 - [34mdebug[39m: node-red.0 (31383) 10 Jun 14:35:46 - [info] Stopped modified nodes 2021-06-10 14:35:46.528 - [32minfo[39m: node-red.0 (31383) Save /opt/iobroker/iobroker-data/node-red/flows.json 2021-06-10 14:35:46.550 - [34mdebug[39m: node-red.0 (31383) <--- Last few GCs ---> [26368:0x387d140] 154478686 ms: Mark-sweep 123.0 (127.8) -> 122.7 (127.8) MB, 92.2 / 0.0 ms (average mu = 0.845, current mu = 0.000) last resort GC in old space requested [26368:0x387d140] 154478825 ms: Mark-sweep 122.7 (127.8) -> 122.6 (127.8) MB, 138.7 / 0.0 ms (average mu = 0.678, current mu = 0.000) last resort GC in old space requested <--- JS stacktrace ---> ==== JS stack trace ========================================= 0: ExitFrame [pc: 0x140de99] 1: InternalFrame [pc: 0x13937a6] 2: arguments adaptor frame: 2->0 Security context: 0x1f3862c008d1 <JSObject> 3: refreshExternalModules [0xa706a176e29] [/opt/iobroker/node_modules/@node-red/registry/lib/externalModules.js:34] [bytecode=0x21482707b1f9 offset=83](this=0x3e15c3e401b1 <JSGlobal Object>) 4: checkFlowDependencies [0xa7f52061011] [/opt/iobroker/node_modules/@node-red/registry/lib/... 2021-06-10 14:35:46.551 - [33mwarn[39m: node-red.0 (31383) FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 2021-06-10 14:35:46.556 - [33mwarn[39m: node-red.0 (31383) 1: 0xa1a640 node::Abort() [node-red] 2021-06-10 14:35:46.557 - [33mwarn[39m: node-red.0 (31383) 2: 0xa1aa4c node::OnFatalError(char const*, char const*) [node-red] 2021-06-10 14:35:46.557 - [33mwarn[39m: node-red.0 (31383) 3: 0xb9a68e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node-red] 2021-06-10 14:35:46.558 - [33mwarn[39m: node-red.0 (31383) 4: 0xb9aa09 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node-red] 2021-06-10 14:35:46.559 - [33mwarn[39m: node-red.0 (31383) 5: 0xd57c85 [node-red] 2021-06-10 14:35:46.559 - [33mwarn[39m: node-red.0 (31383) 6: 0xd685d8 v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node-red] 2021-06-10 14:35:46.560 - [33mwarn[39m: node-red.0 (31383) 7: 0xd2f2cd v8::internal::Factory::NewFixedArrayWithFiller(v8::internal::RootIndex, int, v8::internal::Object, v8::internal::AllocationType) [node-red] 2021-06-10 14:35:46.560 - [33mwarn[39m: node-red.0 (31383) 8: 0xd2f3c0 v8::internal::Handle<v8::internal::FixedArray> v8::internal::Factory::NewFixedArrayWithMap<v8::internal::FixedArray>(v8::internal::RootIndex, int, v8::internal::AllocationType) [node-red] 2021-06-10 14:35:46.561 - [33mwarn[39m: node-red.0 (31383) 9: 0xf44f30 v8::internal::HashTable<v8::internal::StringTable, v8::internal::StringTableShape>::NewInternal(v8::internal::Isolate*, int, v8::internal::AllocationType) [node-red] 2021-06-10 14:35:46.562 - [33mwarn[39m: node-red.0 (31383) 10: 0xf44f8e v8::internal::HashTable<v8::internal::StringTable, v8::internal::StringTableShape>::New(v8::internal::Isolate*, int, v8::internal::AllocationType, v8::internal::MinimumCapacity) [node-red] 2021-06-10 14:35:46.562 - [33mwarn[39m: node-red.0 (31383) 11: 0xf4565b v8::internal::HashTable<v8::internal::StringTable, v8::internal::StringTableShape>::EnsureCapacity(v8::internal::Isolate*, v8::internal::Handle<v8::internal::StringTable>, int, v8::internal::AllocationType) [node-red] 2021-06-10 14:35:46.563 - [33mwarn[39m: node-red.0 (31383) 12: 0xf45771 v8::internal::Handle<v8::internal::String> v8::internal::StringTable::LookupKey<v8::internal::SequentialStringKey<unsigned char> >(v8::internal::Isolate*, v8::internal::SequentialStringKey<unsigned char>*) [node-red] 2021-06-10 14:35:46.563 - [33mwarn[39m: node-red.0 (31383) 13: 0xbe31c1 v8::internal::AstValueFactory::Internalize(v8::internal::Isolate*) [node-red] 2021-06-10 14:35:46.564 - [33mwarn[39m: node-red.0 (31383) 14: 0xfb0659 v8::internal::parsing::ParseFunction(v8::internal::ParseInfo*, v8::internal::Handle<v8::internal::SharedFunctionInfo>, v8::internal::Isolate*, v8::internal::parsing::ReportErrorsAndStatisticsMode) [node-red] 2021-06-10 14:35:46.564 - [33mwarn[39m: node-red.0 (31383) 15: 0xc73d7c v8::internal::Compiler::Compile(v8::internal::Handle<v8::internal::SharedFunctionInfo>, v8::internal::Compiler::ClearExceptionFlag, v8::internal::IsCompiledScope*) [node-red] 2021-06-10 14:35:46.565 - [33mwarn[39m: node-red.0 (31383) 16: 0xc7693e v8::internal::Compiler::Compile(v8::internal::Handle<v8::internal::JSFunction>, v8::internal::Compiler::ClearExceptionFlag, v8::internal::IsCompiledScope*) [node-red] 2021-06-10 14:35:46.565 - [33mwarn[39m: node-red.0 (31383) 17: 0x1057bb2 v8::internal::Runtime_CompileLazy(int, unsigned long*, v8::internal::Isolate*) [node-red] 2021-06-10 14:35:46.566 - [33mwarn[39m: node-red.0 (31383) 18: 0x140de99 [node-red] 2021-06-10 14:35:46.587 - [32minfo[39m: node-red.0 (31383) node-red exited with null 2021-06-10 14:35:46.584 - [32minfo[39m: mqtt.0 (9068) Client [mqtt_318e3404.28f72c] connection closed: closed 2021-06-10 14:35:51.588 - [32minfo[39m: node-red.0 (31383) Starting node-red: --max-old-space-size=128 /opt/iobroker/node_modules/node-red/red.js -v --settings /opt/iobroker/iobroker-data/node-red/settings.js 2021-06-10 14:35:52.112 - [34mdebug[39m: node-red.0 (31383) 10 Jun 14:35:52 - [info] Welcome to Node-RED =================== 2021-06-10 14:35:52.112 - [34mdebug[39m: node-red.0 (31383) 10 Jun 14:35:52 - [info] Node-RED version: v1.3.4 2021-06-10 14:35:52.113 - [34mdebug[39m: node-red.0 (31383) 10 Jun 14:35:52 - [info] Node.js version: v12.22.1 2021-06-10 14:35:52.114 - [34mdebug[39m: node-red.0 (31383) 10 Jun 14:35:52 - [info] Linux 5.4.73-1-pve x64 LE 2021-06-10 14:35:52.274 - [34mdebug[39m: node-red.0 (31383) 10 Jun 14:35:52 - [info] Loading palette nodes 2021-06-10 14:35:54.959 - [34mdebug[39m: node-red.0 (31383) 10 Jun 14:35:54 - [info] Dashboard version 2.28.1 started at /ui
-
@valbuz said in JS:Out of memory:
FatalProcessOutOfMemory
Bin kein node red spezialist, aber:
wieviele flows hast du?
gibt es da welche, bei denen du viele Daten direkt im flow hinterlegt hast?
Wenn man das log genau anschaut, dann steigt er dabei aus,
wie er versucht Speicher zu reservieren, während er das Javascript kompiliert..
Ein Hinweis was es sein könnte wäre String / StringTable / fixedArrayAnsonsten über Ausschluss-Verfahren alle Flows deaktivieren und dann nach und nach einzeln wieder aktivieren.
Evtl gibt das Log auch vor dieser Zeit noch ein paar Hinweise, was er da genau macht.
-
@oliverio sagte in JS:Out of memory:
@valbuz said in JS:Out of memory:
FatalProcessOutOfMemory
Bin kein node red spezialist, aber:
wieviele flows hast du?
7 Flows ( es sind nicht mächtige Flows...)
Wenn ich sehe, was andere mit Node Red machen...gibt es da welche, bei denen du viele Daten direkt im flow hinterlegt hast?
Es gibt einzelne Variablen, welche im Flow gespeichert sind.
Wenn man das log genau anschaut, dann steigt er dabei aus,
wie er versucht Speicher zu reservieren, während er das Javascript kompiliert..
Ein Hinweis was es sein könnte wäre String / StringTable / fixedArrayWas meinst Du zu:
FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node-red]
Ansonsten über Ausschluss-Verfahren alle Flows deaktivieren und dann nach und nach einzeln wieder aktivieren.
Das Problem ist, dass es nicht immer beim deployen ist. Daher kann ich eigentlich das Problem nicht hervor bringen.
Was es mit Ausschluss-Verfahren schwierig macht.
Sporadisch passiert es auch während der runtime. Kann mehere Tage/Wochen ohne Probleme laufen.Evtl gibt das Log auch vor dieser Zeit noch ein paar Hinweise, was er da genau macht.
Muss zuerst mal reinschauen.
-
@valbuz sagte in JS:Out of memory:
Was meinst Du zu:
FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node-red]
Die Ausgabe in der Zeit von
2021-06-10 14:35:46.551 bis 2021-06-10 14:35:52.112
ist die Ausgabe des Stacktrace.
da im Programmablauf ausgehend von einem Programmstart eine funktion aufgerufen wird, aus dieser Funktion wieder eine Funktion aufgerufen wird und aus dieser Funktion wieder eine andere aufgerufen wird, entsteht daraus eine wichtige Information an welcher Stelle des Programmcodes man sich gerade befindet.
Aus den Funktionsbezeichnungen kann man dann Informationen ableiten.
Der Stacktrace muss von unten nach oben gelesen werden
Die Ausgabe bei 2021-06-10 14:35:46.566 mit der Nr 18 ist der Ursprung.
Wenn man von da aus nach oben liest:
17,16,15 da steht was mit Compile, ergo mus NodeRed Javascript/JSON lesen und interpretieren (kompilieren)
14: Parse, auch hier will er etwas erkennen
13: AstValueFactory, AST ist ein Begriff wie man Programmcode strukturiert als Daten ablegen kann https://en.wikipedia.org/wiki/Abstract_syntax_tree
7-11: Hier wird versucht Daten in einer Variable abzulegen.
6: Hier wird versucht den Speicher zu reservieren
1-4: Hier entsteht der Fehler, er wird ausgegeben und es wird abgebrochenFalls du im log (also die Zeilen vor diesem Stacktrace) nicht genug Informationen hast, kannst du auch mal das loglevel von nodered erhöhen
https://nodered.org/docs/user-guide/runtime/logging
und es auf debug oder gar trace zu setzen. Mit trace aber vorsichtig sein, da das wirklich viel Ausgabe erzeugen kann. Aber das hängt von den Entwicklern von nodered ab.
Die settings-datei für iobroker zu nodered findest du hier/opt/iobroker/node_modules/iobroker.node-red/settings.js
aber zeigt doch erst mal die bisherigen logdaten 2-5 sekunden vor diesem Abschnitt
-
@oliverio
Danke für Deine Antwort.Hier noch der gewünschte Auszug, paar sekunden zurück..
Den Loglevel hochschrauben ist schon gut, nur ich weiss ja nicht wann der Restart kommt...
Heute morgen wieder 2x kurz hintereinander und jetzt wieder alles stabil.
Die Instanz hatte ich auf "silly" gestellt, jedoch nicht mehr Infos erhalten.2021-06-10 14:03:00.007 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 5.077 2021-06-10 14:03:00.007 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.444 2021-06-10 14:06:00.007 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Boiler ON! 2021-06-10 14:06:00.007 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 5.041 2021-06-10 14:06:00.007 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.454 2021-06-10 14:09:00.007 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Boiler ON! 2021-06-10 14:09:00.007 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 4.995 2021-06-10 14:09:00.008 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.432 2021-06-10 14:12:00.013 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Boiler ON! 2021-06-10 14:12:00.013 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 4.957 2021-06-10 14:12:00.013 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.438 2021-06-10 14:15:00.014 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Boiler ON! 2021-06-10 14:15:00.014 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 4.932 2021-06-10 14:15:00.014 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.434 2021-06-10 14:15:00.020 - [32minfo[39m: host.ioBroker-zw instance system.adapter.coronavirus-statistics.0 started with pid 14231 2021-06-10 14:15:00.530 - [32minfo[39m: coronavirus-statistics.0 (14231) starting. Version 0.6.3 in /opt/iobroker/node_modules/iobroker.coronavirus-statistics, node: v12.22.1, js-controller: 3.2.16 2021-06-10 14:15:02.471 - [33mwarn[39m: coronavirus-statistics.0 (14231) State attribute definition missing for + undefined 2021-06-10 14:15:03.396 - [32minfo[39m: coronavirus-statistics.0 (14231) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason 2021-06-10 14:15:03.909 - [32minfo[39m: host.ioBroker-zw instance system.adapter.coronavirus-statistics.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) 2021-06-10 14:18:00.006 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Boiler ON! 2021-06-10 14:18:00.006 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 4.92 2021-06-10 14:18:00.006 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.434 2021-06-10 14:20:00.022 - [32minfo[39m: host.ioBroker-zw instance system.adapter.daswetter.0 started with pid 14335 2021-06-10 14:20:00.550 - [32minfo[39m: daswetter.0 (14335) starting. Version 3.0.7 in /opt/iobroker/node_modules/iobroker.daswetter, node: v12.22.1, js-controller: 3.2.16 2021-06-10 14:20:04.799 - [32minfo[39m: daswetter.0 (14335) Terminated (NO_ERROR): Without reason 2021-06-10 14:20:05.306 - [32minfo[39m: daswetter.0 (14335) cleaned everything up... 2021-06-10 14:20:05.312 - [32minfo[39m: host.ioBroker-zw instance system.adapter.daswetter.0 terminated with code 0 (NO_ERROR) 2021-06-10 14:21:00.010 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Boiler ON! 2021-06-10 14:21:00.010 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 4.863 2021-06-10 14:21:00.010 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.435 2021-06-10 14:24:00.006 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Boiler ON! 2021-06-10 14:24:00.006 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 4.867 2021-06-10 14:24:00.006 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.447 2021-06-10 14:27:00.007 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Boiler ON! 2021-06-10 14:27:00.007 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 4.289 2021-06-10 14:27:00.007 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.41 2021-06-10 14:30:00.009 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Boiler ON! 2021-06-10 14:30:00.009 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 4.915 2021-06-10 14:30:00.009 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.43 2021-06-10 14:30:00.019 - [32minfo[39m: host.ioBroker-zw instance system.adapter.coronavirus-statistics.0 started with pid 14521 2021-06-10 14:30:00.533 - [32minfo[39m: coronavirus-statistics.0 (14521) starting. Version 0.6.3 in /opt/iobroker/node_modules/iobroker.coronavirus-statistics, node: v12.22.1, js-controller: 3.2.16 2021-06-10 14:30:04.025 - [33mwarn[39m: coronavirus-statistics.0 (14521) State attribute definition missing for + undefined 2021-06-10 14:30:04.967 - [32minfo[39m: coronavirus-statistics.0 (14521) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason 2021-06-10 14:30:05.497 - [32minfo[39m: host.ioBroker-zw instance system.adapter.coronavirus-statistics.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) 2021-06-10 14:30:43.426 - [32minfo[39m: javascript.0 (9318) script.js.common.Astro: neue Tagezeit: Nachmittag 2021-06-10 14:30:43.426 - [32minfo[39m: javascript.0 (9318) script.js.common.Astro: nächte kommende Tagezeit: Abenddämmerung 2021-06-10 14:33:00.010 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Boiler ON! 2021-06-10 14:33:00.011 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 4.879 2021-06-10 14:33:00.011 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.356 2021-06-10 14:35:45.979 - [34mdebug[39m: node-red.0 (31383) 10 Jun 14:35:45 - [info] Stopping modified nodes
-
@valbuz said in JS:Out of memory:
@oliverio
Danke für Deine Antwort.Hier noch der gewünschte Auszug, paar sekunden zurück..
Den Loglevel hochschrauben ist schon gut, nur ich weiss ja nicht wann der Restart kommt...
Heute morgen wieder 2x kurz hintereinander und jetzt wieder alles stabil.
Die Instanz hatte ich auf "silly" gestellt, jedoch nicht mehr Infos erhalten.2021-06-10 14:03:00.007 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 5.077 2021-06-10 14:03:00.007 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.444 2021-06-10 14:06:00.007 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Boiler ON! 2021-06-10 14:06:00.007 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 5.041 2021-06-10 14:06:00.007 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.454 2021-06-10 14:09:00.007 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Boiler ON! 2021-06-10 14:09:00.007 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 4.995 2021-06-10 14:09:00.008 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.432 2021-06-10 14:12:00.013 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Boiler ON! 2021-06-10 14:12:00.013 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 4.957 2021-06-10 14:12:00.013 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.438 2021-06-10 14:15:00.014 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Boiler ON! 2021-06-10 14:15:00.014 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 4.932 2021-06-10 14:15:00.014 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.434 2021-06-10 14:15:00.020 - [32minfo[39m: host.ioBroker-zw instance system.adapter.coronavirus-statistics.0 started with pid 14231 2021-06-10 14:15:00.530 - [32minfo[39m: coronavirus-statistics.0 (14231) starting. Version 0.6.3 in /opt/iobroker/node_modules/iobroker.coronavirus-statistics, node: v12.22.1, js-controller: 3.2.16 2021-06-10 14:15:02.471 - [33mwarn[39m: coronavirus-statistics.0 (14231) State attribute definition missing for + undefined 2021-06-10 14:15:03.396 - [32minfo[39m: coronavirus-statistics.0 (14231) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason 2021-06-10 14:15:03.909 - [32minfo[39m: host.ioBroker-zw instance system.adapter.coronavirus-statistics.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) 2021-06-10 14:18:00.006 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Boiler ON! 2021-06-10 14:18:00.006 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 4.92 2021-06-10 14:18:00.006 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.434 2021-06-10 14:20:00.022 - [32minfo[39m: host.ioBroker-zw instance system.adapter.daswetter.0 started with pid 14335 2021-06-10 14:20:00.550 - [32minfo[39m: daswetter.0 (14335) starting. Version 3.0.7 in /opt/iobroker/node_modules/iobroker.daswetter, node: v12.22.1, js-controller: 3.2.16 2021-06-10 14:20:04.799 - [32minfo[39m: daswetter.0 (14335) Terminated (NO_ERROR): Without reason 2021-06-10 14:20:05.306 - [32minfo[39m: daswetter.0 (14335) cleaned everything up... 2021-06-10 14:20:05.312 - [32minfo[39m: host.ioBroker-zw instance system.adapter.daswetter.0 terminated with code 0 (NO_ERROR) 2021-06-10 14:21:00.010 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Boiler ON! 2021-06-10 14:21:00.010 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 4.863 2021-06-10 14:21:00.010 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.435 2021-06-10 14:24:00.006 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Boiler ON! 2021-06-10 14:24:00.006 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 4.867 2021-06-10 14:24:00.006 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.447 2021-06-10 14:27:00.007 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Boiler ON! 2021-06-10 14:27:00.007 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 4.289 2021-06-10 14:27:00.007 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.41 2021-06-10 14:30:00.009 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Boiler ON! 2021-06-10 14:30:00.009 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 4.915 2021-06-10 14:30:00.009 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.43 2021-06-10 14:30:00.019 - [32minfo[39m: host.ioBroker-zw instance system.adapter.coronavirus-statistics.0 started with pid 14521 2021-06-10 14:30:00.533 - [32minfo[39m: coronavirus-statistics.0 (14521) starting. Version 0.6.3 in /opt/iobroker/node_modules/iobroker.coronavirus-statistics, node: v12.22.1, js-controller: 3.2.16 2021-06-10 14:30:04.025 - [33mwarn[39m: coronavirus-statistics.0 (14521) State attribute definition missing for + undefined 2021-06-10 14:30:04.967 - [32minfo[39m: coronavirus-statistics.0 (14521) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason 2021-06-10 14:30:05.497 - [32minfo[39m: host.ioBroker-zw instance system.adapter.coronavirus-statistics.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) 2021-06-10 14:30:43.426 - [32minfo[39m: javascript.0 (9318) script.js.common.Astro: neue Tagezeit: Nachmittag 2021-06-10 14:30:43.426 - [32minfo[39m: javascript.0 (9318) script.js.common.Astro: nächte kommende Tagezeit: Abenddämmerung 2021-06-10 14:33:00.010 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Boiler ON! 2021-06-10 14:33:00.011 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: PV Aktuell: 4.879 2021-06-10 14:33:00.011 - [32minfo[39m: javascript.0 (9318) script.js.common.PV_Boiler: Verbrauch Aktuell: 0.356 2021-06-10 14:35:45.979 - [34mdebug[39m: node-red.0 (31383) 10 Jun 14:35:45 - [info] Stopping modified nodes
dadurch hast du den log level des adapters hochgedreht.
die verwendete bibliothek "nodered" hat seinen eigenen log-level,
den du in dieser settings datei anpassen musst.
wenn die bibliothek nicht mehr infos liefert kann der adapter auch nicht mehr ausgebendie logeinträge haben keine weiteren nodered einträge drin.
-
@oliverio Die Settings.js habe ich angepasst und NR neu gestartet.
Sorry aber wo finde ich nun die Einträge? Die Instanz liefert ja nicht mehr und das LOG File in
/opt/iobroker/log liefert auch nicht mehr.Danke nochmals
-
@valbuz said in JS:Out of memory:
@oliverio Die Settings.js habe ich angepasst und NR neu gestartet.
Sorry aber wo finde ich nun die Einträge? Die Instanz liefert ja nicht mehr und das LOG File in
/opt/iobroker/log liefert auch nicht mehr.Danke nochmals
Theoretisch im iobroker log, aber
da muss dir der adapter entwickler helfen @Bluefox @apollon77 -
Aaaalso:
ich verstehe richtig das node-red teilweise wegen OOM abkachelt. Da kann ioBroker erstmal weniger dafür.
Generell sieht das" top" ok aus .. hast 4GB RAM und mehr als die Hälfte ist frei.
Also wäre ich eher dabei das node-red zu wenig heap hat. Das kannst Du in den Settings von node-red Adapter hoch drehen. Musst mal schauen. Ich glaube Standard sind 256MB oder 512 oder sowas ... setz ,al was höheres.
Google vllt bei node-red nach best practices -
@apollon77 sagte in JS:Out of memory:
Aaaalso:
ich verstehe richtig das node-red teilweise wegen OOM abkachelt. Da kann ioBroker erstmal weniger dafür.
Generell sieht das" top" ok aus .. hast 4GB RAM und mehr als die Hälfte ist frei.
Also wäre ich eher dabei das node-red zu wenig heap hat. Das kannst Du in den Settings von node-red Adapter hoch drehen. Musst mal schauen. Ich glaube Standard sind 256MB oder 512 oder sowas ... setz ,al was höheres.
Google vllt bei node-red nach best practicesStandard war bei mir 128 drin. Dies hatte ich vorgängig mal auf 256 gestellt. Problem war immer noch da.
Jetzt mal auf 512 geschraubt, schauen wir mal weiter.... -
@valbuz am Ende sieht es aber so aus als ob eins deiner genutzten nodes ggf ein Memory leak hat.
-
@apollon77 sagte in JS:Out of memory:
@valbuz am Ende sieht es aber so aus als ob eins deiner genutzten nodes ggf ein Memory leak hat.
Mir fiel auch schon auf, dass beim Update der HUE-Bridge, NR rebootet, weil die Bridge nicht erreichbar ist während dem Update...dürfte doch auch nicht passieren. Die sieht dann eher wieder nach NR oder der HUE Node aus.
Doch denke ich die HUE Node wird sicherlich sehr viel verwendet.Dann geht es wohl nur nach Ausschlussverfahren
-
@valbuz naja kommt immer darauf an wie sauber das programmiert ist. Schau doch mal die issues der verwendete nodes durch.
Oder schau dir die iobroker Adapter an wenn es welche gibt - wie bei hue ;-))
-
Folgendes...
Habe noch ein weiteres, praktisch identisches System, am laufen. Dieses machte bisher keine Probleme.
Letzthin habe ich mal wieder Updates gemacht. Also keine Konfig Änderungen.
Nachdem ich einige Nodes aktualisiert hatte, war am nachfolgenden Tag plötzlich ein Reboot des Node Red Adapters zusehen mit Vermerk "out of memory".
Restore gemacht und seither wieder OK.Taste mich jetzt mal ran....
-
Ich habe nun mal folgendes per Zufall entdeckt. Ob es nun mit dem gesagten Fehler im Zusammenhang ist....
Für die Lichtsteuerung habe ich eine HUE-Bridge in NR eingebunden.
Das folgende Verhalten ist ebenfalls auf einem 2. System mit ebenfalls einer (anderen) HUE-Bridge nachvollziehbar.Beim Update der HUE-Bridge scheint sich diese kurz vom Netz zu trennen, also kurzzeitig nicht mehr für NR erreichbar zu sein.
Dadurch startet das komplette NR neu! Kann bei jedem Update oder trennender Netzverbindung zur Bridge nachvollzogen werden.Hat dies auch schon wer gehabt? Es sind sicherlich einige hier mit NR und HUE.
Gruss
Pat