NEWS
Node-Red absürze
-
|Hardwaresystem:| Pi4B|
|Arbeitsspeicher:| 4GB |
|Festplattenart:| SD-Karte 64 Gb |
|Betriebssystem:| Pi OS |
|Node-Version:| 12.22.5 |
|Nodejs-Version:| 12.22.5 |
|NPM-Version:| 7.5.2 |
|Node-Red:| 3.2.0 |Hallo zusammen,
mein Node-Red startet aktuell regelmäßig (mehrmals am Tag) nach einem Fehler neu.
Zuerst habe ich gedacht das der RAM zu klein ist, daraufhin habe ich vom 3B+ auf den 4B gewechselt und damit dem RAM von 1Gb auf 4Gb vergrößert.
Auf dem neun Pi habe ich dann auch alles auf die neue Versionen aufgesetzt.
Am ende habe ich meine Flows wieder übernommen.node-red.0 2022-04-29 10:22:35.096 warn 29 Apr 10:22:35 - [warn] Projects disabled : editorTheme.projects.enabled=false node-red.0 2022-04-29 10:22:27.465 warn 29 Apr 10:22:27 - [warn] Use of editorTheme.palette.editable is DEPRECATED. Use externalModules.palette.allowInstall instead node-red.0 2022-04-29 10:22:25.470 info 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 node-red.0 2022-04-29 10:22:20.469 info node-red exited with null node-red.0 2022-04-29 10:22:20.429 warn FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
Ich schreibe jetzt seit ein paar Tagen folgende Werte in eine SQL-Datenbank und haben folgende Werte:
system.adapter.node-red.0.memHeapTotal = 14,14 Mb
system.adapter.node-red.0.memHeapUsed = 10,5 - 11,5 Mb
system.adapter.node-red.0.memRss = 72,6 Mb
system.host.ioBroker.mem = 52 - 58 %Hat jemand eine Idee woran die abstürze liegen können und was ich mache kann?
DIe Beiträge, welche ich bisher gefunden habe (Forum + Google) konnten mir noch nicht großartig weiterhelfen. -
@cbr-35 npm 7 und node 12?
Ist das so korrekt?
Node-red läuft ja als Adapter und nicht standalone, korrekt?@thomas-braun Passt das bzw. die Versionen oder sollte npm 6.x und node 14.x sein?
-
@lessthanmore Ja das ist korrekt - vorher braucht man da auch nicht lange rumsuchen.
@CBR-35
Nodejs 14 mit Npm 6. Wie man das korrigiert schau in den Threads bzw. Fußzeilen der Postings von @thomas-braun.Dann halt die Warnung berücksichtigen - da wurden wohl einige settings in der settings.js manuell eingetragen. Ist eben nicht mehr Standard. Seit der Version 1.3 wurde dieser Parameter schon aus der settings.js verbannt.
https://nodered.org/blog/2021/04/08/version-1-3-released#new-externalmodules-setting
Wenn das dann alles korrigiert ist und es gibt immer noch Abstürze - dann muss man ggf. einzelne Flows überprüfen. Als erstes aber mal die settings.js nicht editieren. Wenn man da was verfummelt, kann es ja alles mögliche sein.
-
node12 und node14 kommen beide mit npm@6 daher.
@CBR-35
Installier da sauber node14, die 12 wird MORGEN abgekündigt werden. Höchste Zeit da runterzuhüpfen. -
Alles klar, danke.
Ich habe jetzt alle Updates installiert.
Node.js: 14.19.1
NPM: 6.14.6
ioBroker: 4.0.23Die manuell bearbeitete Zeile scheint beim update automatisch korriert worden zu sein.
Ich werde es jetzt mal weiter beobachten und dann nochmal Rückmeldung geben.
-
Soeben kam es zu einem neuen Absturz mit einer neuen Fehlermeldung:
node-red.0 2022-05-02 14:31:14.692 warn 2 May 14:31:14 - [warn] Projects disabled : editorTheme.projects.enabled=false node-red.0 2022-05-02 14:31:07.878 info 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 node-red.0 2022-05-02 14:31:02.876 info node-red exited with null node-red.0 2022-05-02 14:31:02.842 warn <--- Last few GCs --->[21190:0x54cbfa8] 19642813 ms: Mark-sweep 123.1 (130.7) -> 122.1 (130.9) MB, 517.5 / 0.1 ms (average mu = 0.524, current mu = 0.481) allocation failure scavenge might not succeed[21190:0x54cbfa8] 19644038 ms: Mark-sweep 123.1 (130.9) -> 122.0 (130.4) MB, 553.4 / 0.1 ms (average mu = 0.537, current mu = 0.548) allocation failure scavenge might not succeed<--- JS stacktrace --->FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory
-
Da läuft zu viel Zeug und den nodejs-Prozessen geht der zuordnete Speicher aus.
-
@cbr-35 Das schaut so aus, als ob Du viel zuwenig Speicher allokiert hast.Mach mal die Node-Red Adaptereinstellungen auf.
Tatsächlich ist Standard bei max. zugewiesenes RAM 128 (kB) eingetragen - wenn Du viele Flow hast (so wie ich - hab ich 2048 da stehen).
2022-04-26 16:03:21.280 - info: node-red.0 (1626) Starting node-red: --max-old-space-size=2048 /opt/iobroker/node_modules/iobroker.node-red/node_modules/node-red/red.js -v --settings /opt/iobroker/iobroker-data/node-red/settings.js
128 ist tatsächlich als Standard eingetragen. Also mal mind. auf 512 erhöhen.
-
@mickym
Vielen Dank, ich bin jetzt auf 1024 hoch, seit dem kam es zu keinem Absturz mehr.