Navigation

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

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    iobroker.js-con 100% cpu

    This topic has been deleted. Only users with topic management privileges can see it.
    • Marc Berg
      Marc Berg Most Active @wendy2702 last edited by Marc Berg

      @wendy2702 sagte in iobroker.js-con 100% cpu:

      der verliert scheinbar im Millisekunden Takt die Verbindung

      Oder ein ungünstig progammiertes Script, welches sich anmeldet, Wert subscribed, sich abmeldet, sich wieder anmeldet, nächsten Wert subscribed, ...

      Darauf deutet der Name hin.

      spicer 2 Replies Last reply Reply Quote 0
      • spicer
        spicer @Marc Berg last edited by

        @marc-berg
        Das könnte gut sein. Ich werd mal meine Scripts (Python und BASH) überprüfen.

        1 Reply Last reply Reply Quote 0
        • spicer
          spicer @Marc Berg last edited by

          @marc-berg
          Du hast mich auf die richtige Fährte gebracht. Wenn ich die MQTT Server IP ändere (ins Leere), sieht top so aus:

          Auswahl_006.png

          Marc Berg 1 Reply Last reply Reply Quote 0
          • Marc Berg
            Marc Berg Most Active @spicer last edited by

            @spicer sagte in iobroker.js-con 100% cpu:

            Wenn ich die MQTT Server IP ändere (ins Leere)

            @marc-berg sagte in iobroker.js-con 100% cpu:

            Hast du das Loglevel der MQTT.1 Instanz mal auf "debug" gestellt?

            spicer 1 Reply Last reply Reply Quote 0
            • spicer
              spicer @Marc Berg last edited by

              @marc-berg
              Ja, aber da kann so viel Output, dass top 300% CPU anzeigte ^^

              Marc Berg 1 Reply Last reply Reply Quote 0
              • Marc Berg
                Marc Berg Most Active @spicer last edited by

                @spicer sagte in iobroker.js-con 100% cpu:

                @marc-berg
                Ja, aber da kann so viel Output, dass top 300% CPU anzeigte ^^

                Das sagt aber schon alles. Ich bleibe dabei: eine Schleife.

                spicer 1 Reply Last reply Reply Quote 1
                • spicer
                  spicer @Marc Berg last edited by

                  @marc-berg
                  Jo, das glaube ich Dir.
                  Muss nun suchen 😞
                  Ist ziemlich viel.

                  Marc Berg 1 Reply Last reply Reply Quote 0
                  • Marc Berg
                    Marc Berg Most Active @spicer last edited by

                    @spicer sagte in iobroker.js-con 100% cpu:

                    Muss nun suchen

                    Aber wenn du das Debug-Log kurz anmachst, dann wirst du sicher Hinweise sehen.

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

                      Ist zwar jetzt etwas OT hier, aber hier einer der wirklichen Gründe, warum man keine GUI auf einem Server laufen hat:

                      https://www.phoronix.com/news/X.Org-CVE-2024-9632

                      Was nicht läuft und am besten auch erst gar nicht installiert ist kann auch nicht anfällig für eine 'Privilege Escalation' sein.

                      1 Reply Last reply Reply Quote 0
                      • spicer
                        spicer last edited by

                        Hab das Problem gefunden.
                        Alle 30 Sekunden oder teilweise sogar 10 Sekunden wurde der MQTT Server mit sub/pub's gelöchert.
                        Wenn das geschieht, geht die CPU für ca 30 Sekunden auf 100%.
                        Das war natürlich zuviel.
                        Habe jetzt das Intervall (ausser Regen und Wind Warnung) auf mind 2 Minuten gesetzt.
                        So beruhigt sich das Ganze immer für ca 90 Sekunden.

                        1 Reply Last reply Reply Quote 0
                        • spicer
                          spicer last edited by spicer

                          Konnte die Situation weiter entschärfen, in dem ich alles MQTT auf dem RPI1, welches für die Dachfenster und Rollo Steuerung zuständig ist, sammle.
                          Sende dann nur alle paar Minuten MQTT Daten an das RPI5.
                          Einzig die Windgeschwindigkeit sende ich jede minute (das ist ein String von 3-4 Zeichen).
                          Es fällt auf, dass der ioBroker Adapter MQTT auch nur bei diesem empfangenen MQTT Datensatz die CPU für fast 30 Sekunden auf 100-106% (laut top) treibt.
                          Es sieht so aus, dass da der Adapter auch "etwas komisches" macht. Wenn ihr mich fragt, mit dem Adapter stimmt was nicht.
                          So viel Rechenleistung wegen einem einzigen Subscribe (Datenempfang) von zBsp "0.1".
                          Ein Loop kann es nicht sein, weil das Gleiche geschieht, wenn ich die Instanz Javascript stoppe.

                          Befriedigend ist die jetzige Lösung bzw Verhalten nicht.

                          PS:
                          Beim RPI1 zeigt top unter 1% Auslastung, obschon da jede Sekunde Mosquitto Daten reinschneien.
                          Dieses hat einen Bruchteil der Rechenleistung des RPI5!
                          Wenn ich auf dem RPI1 top ausführe, ist meistens top der belastendste Task ^^

                          spicer 1 Reply Last reply Reply Quote 0
                          • spicer
                            spicer @spicer last edited by spicer

                            @spicer

                            Bitte testet doch mal selber und meldet es gegebenenfalls dem Dev.
                            Danke

                            Es könnte ja auch sein, dass das nur bei Raspberry OS so ist und nicht bei Raspbian.
                            deCONZ zBsp hatte genau dieses Problem!
                            Eine if Abfrage ging auf "raspbian" und nicht auf "debian", was Raspberry OS heute ausgibt.

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

                              @spicer said in iobroker.js-con 100% cpu:

                              @spicer

                              Bitte testet doch mal selber und meldet es gegebenenfalls dem Dev.
                              Danke

                              Es könnte ja auch sein, dass das nur bei Raspberry OS so ist und nicht bei Raspbian.
                              deCONZ zBsp hatte genau dieses Problem!
                              Eine if Abfrage ging auf "raspbian" und nicht auf "debian", was Raspberry OS heute ausgibt.

                              Dass ein IF nicht geht klingt mal komisch. Wahrscheinlich meinst du eher, dass eine Abfrage eines APIs andere Werte geliefert hat.

                              EGAL:
                              Bitte gib doch bei allen solchen Problemmeldungen gesammelt die Versionsinfos an. Ich kann aus deinen letzen Beiträgen weder die Adapetr version noch js.controller, node, os etc herauslesen.

                              Und natürlich stellt sich die Frage was der Adapetr im DEBUG bzw. SILLY Mode loggt wenn er so ausgelastet ist / wird.

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

                                @mcm1957
                                mqtt: v6.1.1

                                Plattform: linux
                                Betriebssystem: linux
                                Architektur: arm64
                                CPUs: 4
                                Geschwindigkeit: 2400 MHz
                                Modell: Cortex-A76
                                RAM: 7.8 GB
                                System-Betriebszeit: 3 T. 15:40:26
                                Node.js: v20.18.0
                                time: 1730545435253
                                timeOffset: -60
                                NPM: 10.8.2
                                Adapter-Anzahl: 545
                                Datenträgergröße: 57.9 GB
                                Freier Festplattenspeicher: 49.3 GB
                                Aktive Instanzen: 10
                                Pfad: /opt/iobroker/
                                Betriebszeit: 3 T. 16:14:09
                                aktiv: true
                                

                                Reicht das?

                                spicer 1 Reply Last reply Reply Quote 0
                                • spicer
                                  spicer @spicer last edited by spicer

                                  @spicer
                                  Der Output von "Debug" ist unglaublich gross. Das kann ich nicht posten.
                                  Da müsstest schon per Teamviewer oder Anydesk schauen hier.

                                  Ey, ich habe nicht nur 2-3 Adapter/Geräte!

                                  Homoran mcm1957 2 Replies Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @spicer last edited by

                                    @spicer sagte in iobroker.js-con 100% cpu:

                                    Der Output von "Debug" ist unglaublich gross.

                                    Das deutet schon darauf hin, dass eine Fehlkonfiguration vorliegen könnte.

                                    Hast du vielleicht eine Schleife konfiguriert?
                                    z.B. Publishst du selber Werte sobald du sie bekommst?

                                    Dann zeig mal einen relevanten Ausschnitt, der hier noch reinpasst

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

                                      @spicer said in iobroker.js-con 100% cpu:

                                      @spicer
                                      Der Output von "Debug" ist unglaublich gross. Das kann ich nicht posten.
                                      Da müsstest schon per Teamviewer oder Anydesk schauen hier.

                                      Ey, ich habe nicht nur 2-3 Adapter/Geräte!

                                      Du hats doch oben geschrieben dass due nur die Windstärke öfter aktualisisrerts und da steigt die Last an. Das widerspricht der jetzigen Aussage dass da doch viele Geräte was schicken.... Wenn wirklich NUR ein Wert kommt, kann nicht so ein riesen Log entstehen - außer der eine Wert löst zig Reaktionen aus ...

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

                                        @homoran
                                        Nein, hab keine Schleife.
                                        Hab erst gestern den ganzen Mosquitto Kreis neu konfiguriert.
                                        DEBUG kommen so viele Posts (keine Warnungen oder Alarme), das willst Du gar nicht wissen!
                                        Versuche den Log dann zu posten.

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

                                          @spicer sagte in iobroker.js-con 100% cpu:

                                          DEBUG kommen so viele Posts (keine Warnungen oder Alarme)

                                          Natürlich, dafür ist debug ja da

                                          @spicer sagte in iobroker.js-con 100% cpu:

                                          das willst Du gar nicht wissen!

                                          doch!
                                          daraus kann man dann ja sehen, was da so schnell triggert.

                                          (Natürlich nach mqtt gefiltert)

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

                                            @homoran
                                            Mit debug bekomme ich Tausende:

                                            mqtt.1
                                            	2024-11-02 12:43:00.657	debug	stateChange mqtt.1.info.clients.mosqsub|19238-Dachrollo: {"val":false,"ack":true,"ts":1730547780656,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1730083491295}
                                            mqtt.1
                                            	2024-11-02 12:43:00.656	debug	stateChange mqtt.1.info.clients.mosqsub|12126-Dachrollo: {"val":false,"ack":true,"ts":1730547780655,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1730232875058}
                                            mqtt.1
                                            	2024-11-02 12:43:00.654	debug	stateChange mqtt.1.info.clients.mosqsub|12442-Dachrollo: {"val":false,"ack":true,"ts":1730547780653,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1730233184883}
                                            mqtt.1
                                            	2024-11-02 12:43:00.652	debug	stateChange mqtt.1.info.clients.mosqsub|12072-Dachrollo: {"val":false,"ack":true,"ts":1730547780651,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1730232844483}
                                            mqtt.1
                                            	2024-11-02 12:43:00.643	debug	stateChange mqtt.1.info.clients.mosqsub|19176-Dachrollo: {"val":false,"ack":true,"ts":1730547780642,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1730083430513}
                                            mqtt.1
                                            	2024-11-02 12:43:00.641	debug	stateChange mqtt.1.info.clients.mosqsub|7642-Dachrollos: {"val":false,"ack":true,"ts":1730547780641,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1730044408190}
                                            mqtt.1
                                            	2024-11-02 12:43:00.639	debug	stateChange mqtt.1.info.clients.mosqsub|19174-Dachrollo: {"val":false,"ack":true,"ts":1730547780638,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1730083430386}
                                            mqtt.1
                                            	2024-11-02 12:43:00.635	debug	stateChange mqtt.1.info.clients.mosqsub|12385-Dachrollo:
                                            

                                            MOD-EDIT: Code in code-tags gesetzt!

                                            ich verstehe nicht, weil ich nur alle 2 Minuten etwas publishe an den iob server.

                                            Homoran 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

                                            931
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            86
                                            3612
                                            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