NEWS
[GELÖST] JS-Controller zieht CPU
-
Hallo zusammen,
ich habe seit ein paar Tagen etwas Problem mit meinem IOBroker. Er ist extrem langsam !
Leider weiß ich nicht genau wo ich anfangen soll zu suchen. Ich hatte vorher ein Update vom Unifi Controller gemacht auf die Version 6.0.22 . Deswegen meine Frage könnte etwas mit einem DNS Problem zu tun haben ? IOBroker und Unifi laufen auf dem Proxmox Server . Hier mal ein Bild von htop zum IOBroker. Zur Info noch ich habe Master und Slave am laufen. Der Slave läuft ganz normal. Keine Auslastung, hat aber nur einen Adapter aktiv. Der Hauptteil läuft auf dem Master.
-
Hallo zusammen,
ich habe seit ein paar Tagen etwas Problem mit meinem IOBroker. Er ist extrem langsam !
Leider weiß ich nicht genau wo ich anfangen soll zu suchen. Ich hatte vorher ein Update vom Unifi Controller gemacht auf die Version 6.0.22 . Deswegen meine Frage könnte etwas mit einem DNS Problem zu tun haben ? IOBroker und Unifi laufen auf dem Proxmox Server . Hier mal ein Bild von htop zum IOBroker. Zur Info noch ich habe Master und Slave am laufen. Der Slave läuft ganz normal. Keine Auslastung, hat aber nur einen Adapter aktiv. Der Hauptteil läuft auf dem Master.
@MyMeyer Dein Skript-Adapter hat auch extrem viel Auslastung. Meine Vermutung: Ein Skript läuft amok, z.B. mit einer Endlosschleife, die States setzt. Damit hat der JS-Controller ebenfalls dauerhaft zu tun.
Schalte alle Skripte aus, aktiviere sie einzeln wieder und beobachte was passiert.
-
Hallo zusammen,
ich habe seit ein paar Tagen etwas Problem mit meinem IOBroker. Er ist extrem langsam !
Leider weiß ich nicht genau wo ich anfangen soll zu suchen. Ich hatte vorher ein Update vom Unifi Controller gemacht auf die Version 6.0.22 . Deswegen meine Frage könnte etwas mit einem DNS Problem zu tun haben ? IOBroker und Unifi laufen auf dem Proxmox Server . Hier mal ein Bild von htop zum IOBroker. Zur Info noch ich habe Master und Slave am laufen. Der Slave läuft ganz normal. Keine Auslastung, hat aber nur einen Adapter aktiv. Der Hauptteil läuft auf dem Master.
@MyMeyer ich würde mal an ein problem mit einem script denken
manchmal zeigt sich das problem, wenn man die javascript instanz deaktiviert , diese aber weiterhin unter htop zu sehen ist
das log ist unauffällig ?
stoppe mal einige scripte und starte die instanz neu - nach dem stoppen der instanz, kontrolliere, ob sie aus htop verschwunden ist, wenn ja kannst du sie wieder neustarten und dann schauen, ob es besser wurde. ist die javascriptinstanz noch in htop zu sehen, iobroker server neustarten
das auffinden eines scriptes, welches probleme macht ist ist nur durch deaktivieren rauszufinden - umständlich aber anders nicht möglich
ich würde mal im suchfeld der scripte async eingeben und zuerst mal alle die gefunden scripte deaktivieren
beim starten der javascriptinstanz das log beobachten, ob da fehler kommen
-
Hallo zusammen,
ich habe seit ein paar Tagen etwas Problem mit meinem IOBroker. Er ist extrem langsam !
Leider weiß ich nicht genau wo ich anfangen soll zu suchen. Ich hatte vorher ein Update vom Unifi Controller gemacht auf die Version 6.0.22 . Deswegen meine Frage könnte etwas mit einem DNS Problem zu tun haben ? IOBroker und Unifi laufen auf dem Proxmox Server . Hier mal ein Bild von htop zum IOBroker. Zur Info noch ich habe Master und Slave am laufen. Der Slave läuft ganz normal. Keine Auslastung, hat aber nur einen Adapter aktiv. Der Hauptteil läuft auf dem Master.
@MyMeyer sagte in JS-Controller zieht CPU:
Ich hatte vorher ein Update vom Unifi Controller gemacht auf die Version 6.0.22 . Deswegen meine Frage könnte etwas mit einem DNS Problem zu tun haben ?
die 6.0.20 war Fehlerhaft, hatte die Vlan's zerstört, hatte danach die 6.0.22 getestet, auch da gab es Probleme bei mir mit dem Netzwerk/Iobroker. Bin deshalb wieder zurück.
https://www.youtube.com/watch?v=37Bl4yvIwqA -
@MyMeyer sagte in JS-Controller zieht CPU:
Ich hatte vorher ein Update vom Unifi Controller gemacht auf die Version 6.0.22 . Deswegen meine Frage könnte etwas mit einem DNS Problem zu tun haben ?
die 6.0.20 war Fehlerhaft, hatte die Vlan's zerstört, hatte danach die 6.0.22 getestet, auch da gab es Probleme bei mir mit dem Netzwerk/Iobroker. Bin deshalb wieder zurück.
https://www.youtube.com/watch?v=37Bl4yvIwqA -
@crunchip Sowas habe ich mir schon gedacht. Wie hast Du den Schritt auf die Version 5.x gemacht ?
@MyMeyer hast du mein altes unifi script am laufen ?
-
@crunchip Sowas habe ich mir schon gedacht. Wie hast Du den Schritt auf die Version 5.x gemacht ?
@MyMeyer backup is your friend

-
@crunchip sagte in JS-Controller zieht CPU:
@MyMeyer backup is your friend

Hatte noch ein Backup unter ProxMox
Jetzt bin ich auf 5.x , aber habe immer noch Meldungen im IObroker wie") slow connection to states DB. Still waiting ..."
Was kann ich dagegen tun ?
-
@MyMeyer hast du mein altes unifi script am laufen ?
@liv-in-sky sagte in JS-Controller zieht CPU:
@MyMeyer hast du mein altes unifi script am laufen ?
Ja, bin aber wieder auf Unifi 5.x
-
@liv-in-sky sagte in JS-Controller zieht CPU:
@MyMeyer hast du mein altes unifi script am laufen ?
Ja, bin aber wieder auf Unifi 5.x
das script stoppen, die javascript instanz neustarten und script wieder starten -
am besten wäre aber das script zu stoppen und einen iobroker server restart zu machen- und dann kontrollieren, was in htop steht - erst dann das script starten und wieder in htop kontrollieren
-
das script stoppen, die javascript instanz neustarten und script wieder starten -
am besten wäre aber das script zu stoppen und einen iobroker server restart zu machen- und dann kontrollieren, was in htop steht - erst dann das script starten und wieder in htop kontrollieren
@liv-in-sky Erst mal Großen Dank an Liv-in-Sky der mir bei der Problem suche sehr gut geholfen hat. 4 Augen sehen mehr als 2 Augen :-)
Was war das Problem. Die neue Unifi Controller Software 6.0.20 hat zig warm Meldung an den Unifi Adapter gesendet. Ich sage jede Sekunde 5 Meldung dadurch ist meine "Objects.json" und "states.json" auf zig MB`s gewachsen. Beides zusammen ca. 300MB und das hat der JS-Controller nicht mehr geschafft. Somit ist das System fast eingeschlafen. Löschen der Objekte hat nichts gebracht. In 8 Stunden 200 Objekt. Auch das löschen von dem Unifi Adapter bracht kein Erfolg. Das System hing fest.
Wat nun....Ahh ...ich hatte noch ein Backup von Backitup und damit konnte ich das System wieder zu laufen bringen. :-) Yes.

Jetzt muss ich erst mal Redis aufsetzen damit das Thema Filebasic erledigt ist. Habt Ihr nützlich Links für Redis Install auf Iobroker ?
-
@liv-in-sky Erst mal Großen Dank an Liv-in-Sky der mir bei der Problem suche sehr gut geholfen hat. 4 Augen sehen mehr als 2 Augen :-)
Was war das Problem. Die neue Unifi Controller Software 6.0.20 hat zig warm Meldung an den Unifi Adapter gesendet. Ich sage jede Sekunde 5 Meldung dadurch ist meine "Objects.json" und "states.json" auf zig MB`s gewachsen. Beides zusammen ca. 300MB und das hat der JS-Controller nicht mehr geschafft. Somit ist das System fast eingeschlafen. Löschen der Objekte hat nichts gebracht. In 8 Stunden 200 Objekt. Auch das löschen von dem Unifi Adapter bracht kein Erfolg. Das System hing fest.
Wat nun....Ahh ...ich hatte noch ein Backup von Backitup und damit konnte ich das System wieder zu laufen bringen. :-) Yes.

Jetzt muss ich erst mal Redis aufsetzen damit das Thema Filebasic erledigt ist. Habt Ihr nützlich Links für Redis Install auf Iobroker ?
@MyMeyer sagte in [GELÖST] JS-Controller zieht CPU:
Habt Ihr nützlich Links für Redis Install auf Iobroker ?
apt install redis-server
und dann über iobroker setup custom auf redis umstellen
-
@liv-in-sky Erst mal Großen Dank an Liv-in-Sky der mir bei der Problem suche sehr gut geholfen hat. 4 Augen sehen mehr als 2 Augen :-)
Was war das Problem. Die neue Unifi Controller Software 6.0.20 hat zig warm Meldung an den Unifi Adapter gesendet. Ich sage jede Sekunde 5 Meldung dadurch ist meine "Objects.json" und "states.json" auf zig MB`s gewachsen. Beides zusammen ca. 300MB und das hat der JS-Controller nicht mehr geschafft. Somit ist das System fast eingeschlafen. Löschen der Objekte hat nichts gebracht. In 8 Stunden 200 Objekt. Auch das löschen von dem Unifi Adapter bracht kein Erfolg. Das System hing fest.
Wat nun....Ahh ...ich hatte noch ein Backup von Backitup und damit konnte ich das System wieder zu laufen bringen. :-) Yes.

Jetzt muss ich erst mal Redis aufsetzen damit das Thema Filebasic erledigt ist. Habt Ihr nützlich Links für Redis Install auf Iobroker ?
@MyMeyer Wobei auch redis nicht wirklich eine Lösung ist, solange da sooooo viel durch die Gegend geballert wird.
Da sollten die Adapter / Geräte etwas eingebremst werden, wenn möglich. -
@MyMeyer Wobei auch redis nicht wirklich eine Lösung ist, solange da sooooo viel durch die Gegend geballert wird.
Da sollten die Adapter / Geräte etwas eingebremst werden, wenn möglich.@Thomas-Braun sagte in [GELÖST] JS-Controller zieht CPU:
@MyMeyer Wobei auch redis nicht wirklich eine Lösung ist, solange da sooooo viel durch die Gegend geballert wird.
Da sollten die Adapter / Geräte etwas eingebremst werden, wenn möglich.Ja klar... Das habe ich abgestellt und welche Daten ich jetzt noch aus dem Unifi hole überlege ich mir zweimal....

-
@MyMeyer sagte in [GELÖST] JS-Controller zieht CPU:
Habt Ihr nützlich Links für Redis Install auf Iobroker ?
apt install redis-server
und dann über iobroker setup custom auf redis umstellen
soweit ich mich erinnere, muss man noch die states via script zurückspielen. die adapter erzeugen die states (meistens) aber eigene datenpunkte bleiben beim aktivieren von redis leer (undefined) - das führt zu vielen warnungen im log
oder verwechsle ich da was
@Thomas-Braun wieso viele - es waren doch nur über 300 000 objekten , die "geballert" wurden :-) aber du hast vollkommen recht - das sollte abgefangen werden
@MyMeyer willst du dieses beispiel mal im unifi thread posten? bzw.
@braindead verfolgst du zufällig diesen thread hier -wir hatten 300 000 objekte durch die erzeugten alarme bei der umstellung auf die neue controller software im unifi.0 ordner - kann man das irgendwie einschränken oder überwachen oder die datenpunkte löschen, wenn sie archiviert wurden -
@Thomas-Braun sagte in [GELÖST] JS-Controller zieht CPU:
@MyMeyer Wobei auch redis nicht wirklich eine Lösung ist, solange da sooooo viel durch die Gegend geballert wird.
Da sollten die Adapter / Geräte etwas eingebremst werden, wenn möglich.Ja klar... Das habe ich abgestellt und welche Daten ich jetzt noch aus dem Unifi hole überlege ich mir zweimal....

@MyMeyer
zur redisumstellung: https://forum.iobroker.net/topic/26327/redis-in-iobroker-überblick/4so hatte ich die redis (states) umstellung damals gemacht (mit dem script) - ich weiß nicht, ob der js- controller dies mittlerweile selbstständig macht und das hinfällig ist - die objecte laufen bei mir noch im file
habe mal meine scripte durchsucht - aber wahrscheinlich benötigt man das garnicht - aber zur sicherheit kann es ja nicht schaden
dieses script läuft eigentlich nur einmal in jedem ordner mit eigen-definierten datenpunkten. es wird eine datei erstellt im ordner "/opt/iobroker/states/" (muss angelegt sein). in diesen beispiel ist es der ordner controll-own.0, der gescannt wird und in das file schreibt. das file ist dann ein eigenes script, indem setState für alle datenpunkte ausgeführt werden
probleme gibt es mit states, die html code beinhalten - man muss also durch das file durchsehen und danach suchen und ersetzen
die datei wird dann als script in den editor kopiert und einmal ausgeführt, wenn redis aktiviert worden ist.
das file sieht z.b so aus:
states-mycontrol2-25.09.2020-09-50-57.txtscript:
ich habe auch ein solches script in nutzung, welches abend einmal läuft und die daten sichrt - eine art "backup" meiner states, falls redis mal streikt oder wenn ich die redis datenbank neu machen will - normal macht man ein redis backup mit backitup adapter !
ps: wir können das gerne wieder zusammen über anydesk machen
-
soweit ich mich erinnere, muss man noch die states via script zurückspielen. die adapter erzeugen die states (meistens) aber eigene datenpunkte bleiben beim aktivieren von redis leer (undefined) - das führt zu vielen warnungen im log
oder verwechsle ich da was
@Thomas-Braun wieso viele - es waren doch nur über 300 000 objekten , die "geballert" wurden :-) aber du hast vollkommen recht - das sollte abgefangen werden
@MyMeyer willst du dieses beispiel mal im unifi thread posten? bzw.
@braindead verfolgst du zufällig diesen thread hier -wir hatten 300 000 objekte durch die erzeugten alarme bei der umstellung auf die neue controller software im unifi.0 ordner - kann man das irgendwie einschränken oder überwachen oder die datenpunkte löschen, wenn sie archiviert wurden@liv-in-sky sagte in [GELÖST] JS-Controller zieht CPU:
soweit ich mich erinnere, muss man noch die states via script zurückspielen.
hat mich nie interessiert. States deren Inhalt übernommen werden muss hatte ich bisher nicht, ab der nächsten Aktualisierung ist eh alles in redis
-
@liv-in-sky sagte in [GELÖST] JS-Controller zieht CPU:
soweit ich mich erinnere, muss man noch die states via script zurückspielen.
hat mich nie interessiert. States deren Inhalt übernommen werden muss hatte ich bisher nicht, ab der nächsten Aktualisierung ist eh alles in redis
@Homoran wie erwähnt - ich bin mir da nicht sicher, ob die states nicht gleich übernommen werden - ich hatte damals viele warnungen im log, die ich so wegbekommen hatte
-
soweit ich mich erinnere, muss man noch die states via script zurückspielen. die adapter erzeugen die states (meistens) aber eigene datenpunkte bleiben beim aktivieren von redis leer (undefined) - das führt zu vielen warnungen im log
oder verwechsle ich da was
@Thomas-Braun wieso viele - es waren doch nur über 300 000 objekten , die "geballert" wurden :-) aber du hast vollkommen recht - das sollte abgefangen werden
@MyMeyer willst du dieses beispiel mal im unifi thread posten? bzw.
@braindead verfolgst du zufällig diesen thread hier -wir hatten 300 000 objekte durch die erzeugten alarme bei der umstellung auf die neue controller software im unifi.0 ordner - kann man das irgendwie einschränken oder überwachen oder die datenpunkte löschen, wenn sie archiviert wurden@liv-in-sky said in [GELÖST] JS-Controller zieht CPU:
@braindead verfolgst du zufällig diesen thread hier -wir hatten 300 000 objekte durch die erzeugten alarme bei der umstellung auf die neue controller software im unifi.0 ordner - kann man das irgendwie einschränken oder überwachen oder die datenpunkte löschen, wenn sie archiviert wurden
Ich habe diesen Thread bisher nicht aktiv verfolgt. Ehrlich gesagt sehe ich hier auch keinen Handlungsbedarf im Adapter. Aber wie soll der Adapter solche Probleme abfangen? Am einfachsten ist sicher das Abfrageintervall zu vergrößern, aber dann kommen die User, die mit dem Motorad vor der Garage stehen und nicht rein kommen, weil sie im ioBroker noch nicht als anwesend erkannt wurden und beschweren sich im Forum, dass der Adapter nicht funktioniert.
-
@liv-in-sky said in [GELÖST] JS-Controller zieht CPU:
@braindead verfolgst du zufällig diesen thread hier -wir hatten 300 000 objekte durch die erzeugten alarme bei der umstellung auf die neue controller software im unifi.0 ordner - kann man das irgendwie einschränken oder überwachen oder die datenpunkte löschen, wenn sie archiviert wurden
Ich habe diesen Thread bisher nicht aktiv verfolgt. Ehrlich gesagt sehe ich hier auch keinen Handlungsbedarf im Adapter. Aber wie soll der Adapter solche Probleme abfangen? Am einfachsten ist sicher das Abfrageintervall zu vergrößern, aber dann kommen die User, die mit dem Motorad vor der Garage stehen und nicht rein kommen, weil sie im ioBroker noch nicht als anwesend erkannt wurden und beschweren sich im Forum, dass der Adapter nicht funktioniert.
das kann man sicher stundenlang diskutieren, ob der adapter nur datenpunkte anlegt - egal wie viele, aber nie datenpunkte löscht
- verständlich bei z.b den clients - wie soll der adapter wissen, ob der client wiederkommt- alte clients muss der user löschen
- bei vouchers oder archivierten alarmen sehe ich das persönlich anders. das ist wie im alexa adapter bei den listen - wird ein neuer listeneintrag erstellt wird er angezeigt - wird die einkaufsliste als gelöscht angegeben, werden diese natürlich als datenpunkte auch wieder in iobroker gelöscht - ansonsten hat man nach einem jahr eine monster-einkaufsliste.
-eine möglichkeit wäre es, die "besonderen" informationen (vouchers, alarme) nicht als dp sondern als json auszugeben und keine datenpunkte zu erstellen, sondern nur einen datenpunkt mit einem json darin - das kann leicht umgesetzt werden und es muss auch nur bei der json erstellung gezählt werden - sind es zu viele - adapter geht auf gelb und schreibt im log einen error
ist aber soweit ok - du bist der programmierer und du entscheidest, was der adapter macht.
zur überprüfung der momentanen situation: man kann ein simples zählscript machen, dass die datenpunkte zählt - und ab einer bestimmten menge gibt es einen alarm - man muss sich so ein script halt für alle adapter machen, die datenpunkte nicht löschen - das script überprüft entweder den ganzen adapter ordner oder nur bestimmte unterordner - z.b alarme
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden