NEWS
io.javascript.0 immer bei rund 100%
-
@tasuanetrukiat
Was mir noch gerade aufgefallen ist das im Admin unter Instanzen diese immer wieder kurz mal scheinbar gestoppt wird, aber danach wieder läuft (Zeile wird kurz ein paar Sekunden rot) -
@tasuanetrukiat
Läuft da ein Script amok?
Stoppe mal die Scripte und nehme die nach und nach wieder in Betrieb, um da ein evtl. fehlerhaftes zu finden. -
@Codierknecht
Hatte geschrieben das kein Skript läuft:
Hatte alle abgeschaltet, dann den ganzen container mal neu gestartet aber trotzdem geht die CPU wieder auf 100 %. Wie können nicht laufende Scripte da Amok laufen?
War aber auch meine erste Idee. Danach hatte ich gedacht, vielleicht ein wenig alt alles und ein bug in irgendeinem Programm. Daher das Upgrade, aber ohne Auswirkung hier. -
@tasuanetrukiat sagte in io.javascript.0 immer bei rund 100%:
2264574 1000 20 0 21.3g 151716 50932 R 117.6 0.9 0:26.87 io.backitup.0
Das war jetzt der falsche Zeitpunkt.
Da lief jetzt backitup, was schon einiges an Ressourcen zieht.
Mach mal nochmal, ohne das backitup läuft -
@tasuanetrukiat sagte in io.javascript.0 immer bei rund 100%:
Hatte geschrieben das kein Skript läuft:
Sorry überlesen
Auch keine globalen Scripte? Die übersieht man gerne, wenn der Expertenmodus inaktiv ist (so denn welche existieren).
-
Die CPU ist jetzt runter:
Ich habe mal ein paar Scripte mittels export gesichert und dann gelöscht.
Nach ein paar Skripten löschen ist mir aufgefallen das die Auslastung der CPU gesunken ist.
Lade importiere jetzt ein Skript nach dem anderen wieder rein und melde mich dann.Die restlichen Skripte sind auch wieder gestartet und es sieht weiterhin gut aus.
top - 18:47:05 up 10 days, 3:20, 9 users, load average: 0.10, 0.22, 0.77 Tasks: 120 total, 3 running, 117 sleeping, 0 stopped, 0 zombie %CPU(s): 1.8 us, 2.2 sy, 0.0 ni, 94.8 id, 1.2 wa, 0.0 hi, 0.0 si, 0.0 st MiB Spch: 15994.0 total, 241.9 free, 1618.9 used, 14306.0 buff/cache MiB Swap: 4096.0 total, 4049.8 free, 46.2 used. 14375.0 avail Spch PID USER PR NI VIRT RES SHR S %CPU %MEM ZEIT+ BEFEHL 2250871 1000 20 0 21.5g 373040 46308 S 1.0 2.3 7:52.16 iobroker.js-con 2251246 1000 20 0 21.1g 85288 44856 S 0.7 0.5 0:30.00 io.modbus.1 2251351 1000 20 0 21.0g 96312 44500 S 0.7 0.6 0:30.36 io.mqtt.0 668 root 20 0 1534220 48960 16684 S 0.3 0.3 28:12.51 dockerd 2250987 1000 20 0 21.1g 87888 44488 S 0.3 0.5 1:24.85 io.history.0 2251043 1000 20 0 21.4g 206636 44692 S 0.3 1.3 40:58.15 io.javascript.0 2251291 1000 20 0 21.1g 82440 44860 S 0.3 0.5 0:21.23 io.modbus.2 1 root 20 0 168908 6508 4348 S 0.0 0.0 4:03.92 systemd
-
@tasuanetrukiat sagte: Keine Änderung:
Wesentliche Änderung! Backitup greift sich gerade die Ressourcen. Javascript nicht mehr.
@codierknecht sagte in io.javascript.0 immer bei rund 100%:
Auch keine globalen Scripte?
Die können ohne ein anderes Skript nicht laufen.
-
@codierknecht
Ich hatte den Expertenmodus noch nie an. Muss ich mal nachsehen was man da so entdeckt. -
@tasuanetrukiat sagte in io.javascript.0 immer bei rund 100%:
Ich hatte den Expertenmodus noch nie an. Muss ich mal nachsehen was man da so entdeckt.
Wenn Du ihn nicht brauchst, lass ihn aus.
Damit macht man auch schnell mal was kaputt -
@tasuanetrukiat
Ich habe auch alle exportierten und gelöschten Skripte wieder angelegt und importiert.
Aber weiterhin ist die CPU-Belegung bei nur >2 % obwohl wieder alles gestartet wurde wie bisher.Wer weiss was da nicht in Ordung war. Jedenfalls ist das Problem gelöst:
Lösung war:
Skripte zum Teil exportiert, gelöscht, neu angelegt und importiert.Danke für die Ideen und Hilfestellung.
-
@tasuanetrukiat sagte in io.javascript.0 immer bei rund 100%:
Wer weiss was da nicht in Ordung war
Kann alles Mögliche sein.
Beobachte das mal eine Weile. Nicht dass sich da wieder etwas "aufschaukelt".Gut möglich, dass in mindestens einem der Scripte ein Fehler steckt, der sich erst bei bestimmten Konstellationen bemerkbar macht.
Klassische Kandidaten dafür sind mögliche Endlosschleifen, Rekursionen, Trigger in Trigger, nicht beendete Timeouts usw. -
Eher schon spät aber noch ne Nachfrage:
Hast du nach dem Stoppen aller Scripte im Adapter auch mal den ganzen Rechner (nicht nur ioBroker) neu gestartet? Es kann ja auch sein, dass ein Prozess amok gelaufen ist den ioBroker gar nicht mehr als einen eigenen erkannt hat. Und der könnte dann nur z.B. manuell gestoppt werden oder ebern durch einen Reboot des Betriebssystems.