NEWS
Script wird immer mehr verzögert ausgeführt
-
Hallo Community,
ich habe eine ioBroker Instanz in Docker auf einem Nuc am laufen mit relativ vielen Scripten. Seit ein paar Wochen habe ich das Problem dass die Skripte immer mehr verzögert ausgeführt werden. Nach einem Neustart ist erstmal wieder alles flott, dann dauert die Ausführung immer länger, alsob irgendwo eine Queue vollläuft.
Habe auch schonmal versucht Scripte auf zwei Instanzen zu verteilen, das hilft aber nicht.Hier die laufenden Instanzen:
Hier die Auslastung:
Hat jemand eine Idee wie ich das Debuggen kann?
Vielen Dank für eure Hilfe!
-
@stein beginn mal bei den 34 Protokollmeldungen
-
@crunchip die sind alle harmlos, meine Wärmepumpe ist manchmal zu langsam beim antworten und dann schmeißt der Modbus-Adapter einen timeout.
-
@stein leider ist nicht zu sehen, wie dein System mit was in welcher Höhe belastet ist. Der JS Adapter muss letztlich mit den Skripten nicht die Ursache sein. Möglicherweise haut ja ein anderer Adapter Tonnen an Daten rein. Oder ein Problem mit dem Datenträger, oder oder oder
Poste mal bitte das Ergebnis von
iob diag
in der Langfassung.
Ro75
-
@stein Steigt denn auch die CPU Auslastung mit der Zeit? Also wenn es langsamer wird?
Nach einem Neustart 20%, wenn es dann langsamer geworden ist liegt die dann spürbar höher?Dann könnte es ein fehlerhaftes Skript sein, etwas wo bei jedem Durchlauf eine neue Skriptinstanz gestartet wird (Trigger in Trigger, Trigger im Zeitplan usw.)
Dann läuft das gleiche Skript irgendwann ein paar hundert oder tausend mal parallel.Oder dir geht der RAM aus und das System muss auslagern.
Wie @Ro75 schon schreibt wäre ein
iob diag
hilfreich
-
Ich habe nurnoch die Summary vom letzten mal als es langsam war:
======================= SUMMARY ======================= v.2024-10-19 model name : Intel(R) Core(TM) i3-3217U CPU @ 1.80GHz Kernel : x86_64 Userland : amd64 Docker : v10.0.0 Installation: Docker Kernel: x86_64 Userland: 64 bit Timezone: CET +0100 User-ID: 0 Display-Server: false Pending OS-Updates: 0 Pending iob updates: 0 Nodejs-Installation: /usr/bin/nodejs v20.18.0 /usr/bin/node v20.18.0 /usr/bin/npm 10.8.2 /usr/bin/npx 10.8.2 /usr/bin/corepack 0.29.3 Recommended versions are nodejs 20.18.0 and npm 10.8.2 nodeJS installation is correct MEMORY: total used free shared buff/cache available Mem: 8.2G 3.7G 1.3G 23M 3.4G 4.4G Swap: 8.6G 355M 8.2G Total: 16G 4.1G 9.6G Active iob-Instances: 5 Upgrade policy: none ioBroker Core: js-controller 7.0.0 admin 7.1.5 ioBroker Status: iobroker is running on this host. Objects type: jsonl States type: jsonl Status admin and web instance: + system.adapter.admin.0 : admin : cc1421b5abcb - enabled, port: 443, bind: 0.0.0.0 (SSL), run as: admin system.adapter.web.0 : web : cc1421b5abcb - enabled, port: 8082, bind: 0.0.0.0, run as: admin Objects: 18225 States: 17608 Size of iob-Database: 67M /opt/iobroker/iobroker-data/objects.jsonl 11M /opt/iobroker/iobroker-data/objects.json.migrated 11M /opt/iobroker/iobroker-data/objects.json.bak.migrated 0 /opt/iobroker/iobroker-data/objects.json.broken 11M /opt/iobroker/iobroker-data/states.jsonl 5.5M /opt/iobroker/iobroker-data/states.json.migrated 5.5M /opt/iobroker/iobroker-data/states.json.bak.migrated 0 /opt/iobroker/iobroker-data/states.json.broken Unknown release codenamed ''. Please check yourself if the Operating System is actively maintained. =================== END OF SUMMARY ====================
CPU Auslastung steigt nicht, RAM auch nicht und swap ist auch leer.
Ich habe gestern noch einen kräftigeren NUC gefunden, den habe ich mal umgebaut und schaue mal wie es sich jetzt entwickelt.Woran könnte ich mehrere Instanzen vom selben script sehen?
-
@stein sagte in Script wird immer mehr verzögert ausgeführt:
swap ist auch leer
@stein sagte in Script wird immer mehr verzögert ausgeführt:
Swap: 8.6G 355M
Sagt aber was anderes
-
@crunchip ja, wenn man es ganz genau nimmt dann ist das korrekt, mit leer mein ich <5%
Was ich halt komisch finde, im Fehlerfall ist weder ein core auf 100% noch der RAM irgendwie signifikant belegt. -
@ro75 sagte in Script wird immer mehr verzögert ausgeführt:
@stein leider ist nicht zu sehen, wie dein System mit was in welcher Höhe belastet ist. Der JS Adapter muss letztlich mit den Skripten nicht die Ursache sein. Möglicherweise haut ja ein anderer Adapter Tonnen an Daten rein. Oder ein Problem mit dem Datenträger, oder oder oder
Poste mal bitte das Ergebnis von
iob diag
in der Langfassung.
Ro75
Steht noch aus.