Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. js controller 100% CPU

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    js controller 100% CPU

    This topic has been deleted. Only users with topic management privileges can see it.
    • Q
      quinti last edited by quinti

      hallo #zsmmn,

      habe ein Problem mit dem js.controller.
      Vor einiger Zeit schon Probleme mit dem js-controller gehabt. Er verursachte 100% CPU Last auf einem Kern. Der admin lief nur noch sehr zäh. Objektbaum ging gar nicht mehr.
      Zuerst hab ich alle meine scripte auf loops untersucht aber nix war dabei was die Last ausgelöst haben könnte. Hätte mich auch sehr gewundert da ich lange nichts mehr an den scripten geändert hatte.
      Dann habe ich die Adapter einzeln versucht und festgestellt das mqtt als Version 3.14 die Ursachte war. Ein downgrade aus letzte stable hat geholfen. Alles lief wieder normal.
      Gestern habe ich dann ein neues mqtt device hinzugefügt und hatte wieder sobald ich den Objektbaum aufgerufen habe 100% CPU Last. Nur Neustart ging dann noch.
      Objektbaum lies sich wieder nicht aufrufen, auch nicht mit deaktiviertem mqtt Adapter.
      Hatte nun meine ganze iobroker im Verdacht. iob fix hat aber nichts geändert.
      Habe nun meinen proxmox Container neu mit debian 12.7 aufgesetzt. Nach dem Restore leider wieder 100% CPU beim ersten Aufruf vom Objektbaum.

      Kann mir im Moment nur mit Backup von vor dem neuen mqtt device helfen. Sobald ich da das neue device wieder anlege wieder der gleiche Fehler.
      anbei diag vom Container vor dem neuen mqtt device.
      diag.txt
      Weiss jemand Rat?

      OliverIO Homoran Thomas Braun 3 Replies Last reply Reply Quote 0
      • OliverIO
        OliverIO @quinti last edited by

        @quinti

        wäre dann eine überschrift wie

        mqtt verursacht 100% cpu vom js controller

        besser. nicht jeder liest alles.

        Q 1 Reply Last reply Reply Quote 2
        • Q
          quinti @OliverIO last edited by

          @oliverio sagte in js controller 100% CPU:

          mqtt verursacht 100% cpu vom js controller

          sry, ganz vergessen zu erwähnen:
          Habe auch versucht, anstatt dem mqtt Adapter die Daten an den sonoff Adapter per mqtt zu senden, verursacht gleichen Fehler.
          Ausserdem habe ich beim der frischen Installation nur mqtt Adapter installiert vor dem restore und das device ausprobiert. Lief.
          Daher liegt der Fehler wohl nicht beim mqtt Adapter

          mcm1957 1 Reply Last reply Reply Quote 0
          • mcm1957
            mcm1957 @quinti last edited by mcm1957

            @quinti

            Diese Repositories sind sicher nicht normal:

            │ 0       │ 'sources' │ 'conf/sources-dist.json'                                                                    │ false        │
            │ 1       │ 'online'  │ 'https://raw.githubusercontent.com/ioBroker/ioBroker.repositories/master/sources-dist.json' │ false        │
            

            sollten aber mal mit der cpu Last nichts zu tun haben.

            Fast 86600 states kommen mir ein wenig viel vor. Bist du sicher dass der mqtt Adapter da nicht wie ein wilder States einrichtet weil irgendwas unendlich viele Topics sendet?

            Und versuch mal die Objekte nur Ebene für Ebene zu öffnen - nicht alle Ebenen auf einmal. Bei sehr großer Anzahl von Objekten kann das Öffnen aller Objekte ohne zu filtern zum Absturz führen.

            Und zuletzt:

            • Was seht im Log?
            • Stopp mal ALLE Adapter und starte dann nur den mqtt um zu verifizieren dass es in dessen Umfeld klemmt.

            Den Satz versteh ich in deinem Posting nicht:

            Dann habe ich die Adapter einzeln versucht und festgestellt das mqtt als Version 3.14 die Ursachte war.

            Der mqtt Adapter ist derzeit auf Release auf 6.1.4 im Stable ist 6.1.2 installiert hast du 6.0.0.
            Bitte sag mal bei welcher Version du das Problem nun hattest.

            Ev ist auch der für dich von Interesse:
            https://github.com/ioBroker/ioBroker.mqtt/issues/534

            Wieviele cleintzs kennt dein broker?

            EDIT:

            Daher liegt der Fehler wohl nicht beim mqtt Adapter

            Nö - aber auch den js-controller würd ich da nicht als Ursache vermuten. Sieht eher so aus als würde in deinem Netzwerk irgendwas mit mqtt Paketen herumwerfen oder sonstwas auf den mqtt Port schicken.

            @thomas-braun
            Wenn dir mal fad ist wär es ev. sinnvoll die Anzahl der States je Instanz im diag zu loggen. Damit könnte man extreme Ausreißer sehen. Keine Ahnung ib das trivial geht und ob dass auch mit vernünftiger Laufzeit ginge. Nur so ne Idee / Anregung.

            Backes89 created this issue in ioBroker/ioBroker.mqtt

            open mqtt.0.info.clients is too huge and freezes - no idea where the entries come from #534

            Q 1 Reply Last reply Reply Quote 1
            • Q
              quinti @mcm1957 last edited by

              @mcm1957 sagte in js controller 100% CPU:

              Fast 86600 states kommen mir ein wenig viel vor. Bist du sicher dass der mqtt Adapter da nicht wie ein wilder States einrichtet weil irgendwas unendlich viele Topics sendet?

              kann schon sein das es so viele sind, habe sourecanalytix Adapter mit vielen Verbrauchern drin

              Und versuch mal die Objekte nur Ebene für Ebene zu öffnen - nicht alle Ebenen auf einmal. Bei sehr großer Anzahl von Objekten kann das Öffnen aller Objekte ohne zu filtern zum Absturz führen.

              Es scheiter ja bereits beim Aufrufen der Seite, der Baum öffnet sich ja gar nicht. Menü links, sonst leere seite und drehender Kreis

              Und zuletzt:

              • Was seht im Log?
              • Stopp mal ALLE Adapter und starte dann nur den mqtt um zu verifizieren dass es in dessen Umfeld klemmt.

              schau mal meinen Nachtrag zum 1. Post oben, der mqtt Adapter ist es nicht und es funktionert mit dem device in einer frischen Installation nur mit mqtt Adapter.

              Q 1 Reply Last reply Reply Quote 0
              • Q
                quinti @quinti last edited by

                habe jetzt auch mal folgendes probiert:
                restore von altem Container und dort mal alle Adapter bis auf admin ausgeschaltet.
                iobroker.js-controller und io.admin.0 sind entspannt.
                Sobald ich die Objektseite aufrufe gehen beide auf 100% Last. Die Seite öffnet sich nicht. Auf der gleichzeitig in anderem Browsertab geöffnetes Instanzenseite sieht man wie der admin adapter rot wird. Die Objektseite baut sich nicht auf.
                Nach einigen Minuten hören beide Prozesse Last zu verursachen. Seiten nicht erreichbar, wahrscheinlich weil admin Adapter abgestürzt ist.
                iob start admin.0 startet den admin wieder. Last der Prozesse wieder normal. Aufruf der Objektseite provoziert wieder Abbruch.
                Hier Log:

                50
                
                Log-Größe: 12.5 KB
                Zeit
                	
                host.iobroker
                	2025-08-05 13:06:33.973	error	cannot call visUtils: Cannot read properties of undefined (reading 'trim')
                admin.0
                	2025-08-05 13:06:29.215	debug	Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) }
                admin.0
                	2025-08-05 13:06:28.427	debug	Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) }
                admin.0
                	2025-08-05 13:06:27.427	debug	2025-08-05T11:06:27.427Z Request authenticate [system.user.admin]
                admin.0
                	2025-08-05 13:06:27.421	info	==> Connected system.user.admin from ::ffff:192.168.2.10
                admin.0
                	2025-08-05 13:06:26.270	info	<== Disconnect system.user.admin from ::ffff:192.168.2.10 admin
                admin.0
                	2025-08-05 13:06:26.270	debug	Disable logging, because no one socket connected
                admin.0
                	2025-08-05 13:06:26.258	info	==> Connected system.user.admin from ::ffff:192.168.2.10
                admin.0
                	2025-08-05 13:06:26.115	info	<== Disconnect system.user.admin from ::ffff:192.168.2.10 admin
                admin.0
                	2025-08-05 13:06:26.114	debug	Disable logging, because no one socket connected
                host.iobroker
                	2025-08-05 13:06:25.665	error	cannot call visUtils: Cannot read properties of undefined (reading 'trim')
                admin.0
                	2025-08-05 13:06:21.182	debug	Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) }
                admin.0
                	2025-08-05 13:06:21.128	debug	Please add to "system.adapter.vis-players" common.adminUI={"config":"none"}
                admin.0
                	2025-08-05 13:06:21.128	debug	Please add to "system.adapter.vis-materialdesign" common.adminUI={"config":"materialize"}
                admin.0
                	2025-08-05 13:06:21.128	debug	Please add to "system.adapter.vis-inventwo" common.adminUI={"config":"materialize","tab":"materialize"}
                admin.0
                	2025-08-05 13:06:21.128	debug	Please add to "system.adapter.sourceanalytix" common.adminUI={"config":"materialize","custom":"json"}
                admin.0
                	2025-08-05 13:06:21.127	debug	Please add to "system.adapter.tuya" common.adminUI={"config":"materialize"}
                admin.0
                	2025-08-05 13:06:21.127	debug	Please add to "system.adapter.whatsapp-cmb" common.adminUI={"config":"materialize"}
                admin.0
                	2025-08-05 13:06:21.127	debug	Please add to "system.adapter.whatsapp-cmb" common.adminUI={"config":"materialize"}
                admin.0
                	2025-08-05 13:06:21.127	debug	Please add to "system.adapter.weatherunderground" common.adminUI={"config":"materialize"}
                admin.0
                	2025-08-05 13:06:21.127	debug	Please add to "system.adapter.vis-jqui-mfd" common.adminUI={"config":"none"}
                admin.0
                	2025-08-05 13:06:21.127	debug	Please add to "system.adapter.vis-history" common.adminUI={"config":"none"}
                admin.0
                	2025-08-05 13:06:21.127	debug	Please add to "system.adapter.unifi" common.adminUI={"config":"materialize"}
                admin.0
                	2025-08-05 13:06:21.127	debug	Please add to "system.adapter.sourceanalytix" common.adminUI={"config":"materialize","custom":"json"}
                admin.0
                	2025-08-05 13:06:21.127	debug	Please add to "system.adapter.rickshaw" common.adminUI={"config":"none"}
                admin.0
                	2025-08-05 13:06:21.127	debug	Please add to "system.adapter.nuki-extended" common.adminUI={"config":"materialize"}
                admin.0
                	2025-08-05 13:06:21.127	debug	Please add to "system.adapter.nina" common.adminUI={"config":"materialize"}
                admin.0
                	2025-08-05 13:06:21.127	debug	Please add to "system.adapter.mobile" common.adminUI={"config":"none"}
                admin.0
                	2025-08-05 13:06:21.127	debug	Please add to "system.adapter.knx" common.adminUI={"config":"materialize"}
                admin.0
                	2025-08-05 13:06:21.127	debug	Please add to "system.adapter.iot" common.adminUI={"config":"materialize"}
                admin.0
                	2025-08-05 13:06:21.127	debug	Please add to "system.adapter.icons-mfd-svg" common.adminUI={"config":"html"}
                admin.0
                	2025-08-05 13:06:21.127	debug	Please add to "system.adapter.flot" common.adminUI={"config":"none"}
                admin.0
                	2025-08-05 13:06:21.127	debug	Please add to "system.adapter.feiertage" common.adminUI={"config":"materialize"}
                admin.0
                	2025-08-05 13:06:21.127	debug	Please add to "system.adapter.alexa2" common.adminUI={"config":"materialize"}
                admin.0
                	2025-08-05 13:06:21.126	debug	Please add to "system.adapter.denon" common.adminUI={"config":"materialize"}
                admin.0
                	2025-08-05 13:06:20.273	debug	Search can't be optimized because wildcard not at the end, fallback to keys!: function(doc) { if (doc.type === 'state') emit(doc._id, doc) }
                host.iobroker
                	2025-08-05 13:06:18.909	error	cannot call visUtils: Cannot read properties of undefined (reading 'trim')
                admin.0
                	2025-08-05 13:06:18.326	debug	2025-08-05T11:06:18.326Z Request authenticate [system.user.admin]
                admin.0
                	2025-08-05 13:06:18.318	info	==> Connected system.user.admin from ::ffff:192.168.2.10
                admin.0
                	2025-08-05 13:05:52.481	info	<== Disconnect system.user.admin from ::ffff:192.168.2.10 admin
                admin.0
                	2025-08-05 13:05:52.481	debug	Disable logging, because no one socket connected
                admin.0
                	2025-08-05 13:04:17.480	info	==> Connected system.user.admin from ::ffff:192.168.2.10
                admin.0
                	2025-08-05 13:03:36.261	info	<== Disconnect system.user.admin from ::ffff:192.168.2.10 admin
                admin.0
                	2025-08-05 13:03:36.260	debug	Disable logging, because no one socket connected
                host.iobroker
                	2025-08-05 13:01:43.109	error	cannot call visUtils: Cannot read properties of undefined (reading 'trim')
                
                Codierknecht Q 2 Replies Last reply Reply Quote 0
                • Codierknecht
                  Codierknecht Developer Most Active @quinti last edited by

                  @quinti sagte in js controller 100% CPU:

                  Sobald ich die Objektseite aufrufe gehen beide auf 100% Last

                  Schon mal den Browser-Cache geleert, den Inkognito-Modus oder einen anderen Browser getestet?

                  Q 1 Reply Last reply Reply Quote 0
                  • Q
                    quinti @quinti last edited by

                    Problem schein gefunden, es liegt wohl am Browser!!!
                    Nutze überlicherweise firefox.
                    Hab nun mal das ganze mit Edge probiert. Da kann ich die Objekt-Seite sofort öffnen!!!
                    stay tuned...

                    1 Reply Last reply Reply Quote 0
                    • Q
                      quinti @Codierknecht last edited by

                      @codierknecht sagte in js controller 100% CPU:

                      @quinti sagte in js controller 100% CPU:

                      Sobald ich die Objektseite aufrufe gehen beide auf 100% Last

                      Schon mal den Browser-Cache geleert, den Inkognito-Modus oder einen anderen Browser getestet?

                      2 doofe, ein Gedanke 😉

                      1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @quinti last edited by

                        @quinti das ist definitiv kein Bug von iobroker (js-controller)
                        ich verschiebe das mal

                        PS

                        @oliverio sagte in js controller 100% CPU:

                        nicht jeder liest alles.

                        gilt auch für angehängte txt-files!
                        bitte in code-tags posten

                        Q 1 Reply Last reply Reply Quote 0
                        • Q
                          quinti @Homoran last edited by

                          @homoran
                          Problem gelöst, cache und cookies gelöscht und es läuft wieder, setzte Titel auf Gelöst:
                          Werde nächstes mal code-tags nutzen

                          btw, so bin ich wenigstens zu einer frischen Installation gekommen 😉

                          Danke an alle!

                          1 Reply Last reply Reply Quote 0
                          • Thomas Braun
                            Thomas Braun Most Active @quinti last edited by

                            @quinti sagte in js controller 100% CPU:

                            Habe nun meinen proxmox Container neu mit debian 12.7 aufgesetzt.

                            Im iob diag wird allerdings
                            Operating System: Ubuntu 22.04.5 LTS
                            und
                            Operating System codenamed 'jammy' is an aging Ubuntu release! Please upgrade to the latest LTS release 'noble' in due time!
                            festgestellt.

                            Q 1 Reply Last reply Reply Quote 0
                            • Q
                              quinti @Thomas Braun last edited by

                              @thomas-braun
                              das diag war vom alten container, der neue hat nun debian 12.7

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate
                              FAQ Cloud / IOT
                              HowTo: Node.js-Update
                              HowTo: Backup/Restore
                              Downloads
                              BLOG

                              770
                              Online

                              32.0k
                              Users

                              80.4k
                              Topics

                              1.3m
                              Posts

                              js-controller
                              6
                              13
                              182
                              Loading More Posts
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes
                              Reply
                              • Reply as topic
                              Log in to reply
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              The ioBroker Community 2014-2023
                              logo