Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Speicherverbrauch durch im Admin UI aufgeblähte Objekte

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Speicherverbrauch durch im Admin UI aufgeblähte Objekte

    This topic has been deleted. Only users with topic management privileges can see it.
    • MartinP
      MartinP @Guest last edited by

      @thomas_

      Tasks:  36 total,   1 running,  35 sleeping,   0 stopped,   0 zombie
      %Cpu(s): 17.8 us, 10.4 sy,  0.0 ni, 67.4 id,  0.3 wa,  0.0 hi,  0.5 si,  0.0 st 
      MiB Mem :   6144.0 total,   2829.1 free,   1955.0 used,   1359.8 buff/cache     
      MiB Swap:   6144.0 total,   6116.6 free,     27.4 used.   4189.0 avail Mem 
      
          PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                              
          366 iobroker  20   0   11.2g 368468  44928 S  10.3   5.9     13,27 iobroker.js-con                                      
          497 iobroker  20   0 1077368 211008  37760 S   6.6   3.4      7,29 io.sonoff.0                                          
          410 iobroker  20   0  998764 134272  37760 S   4.6   2.1      7,39 io.influxdb.0                                        
          429 iobroker  20   0 1025376 188608  43392 S   3.3   3.0 272:39.33 io.javascript.0
      
      ? 1 Reply Last reply Reply Quote 0
      • ?
        A Former User @MartinP last edited by

        Habe jetzt nebenbei angefangen, zu testen. Neu installiert und alles ist leer. Kein Adapter, nichts.

        Martin hat ein laufendes System mit 362 MB Verbrauch beim controller.
        Bei mir braucht der controller ganz nackt 255 MB.

        43446 	iobroker 	118.77 MiB 	io.admin.0
        43485 	iobroker 	78.56 MiB 	io.backitup.0
        43503 	iobroker 	69.3 MiB 	io.discovery.0
        43268 	iobroker 	255.23 MiB 	iobroker.js-controller
        

        installiere ich dann nur den javascript Adapter, dann bin ich schon bei 452.

        43446 	iobroker 	126.75 MiB 	io.admin.0
        43485 	iobroker 	79.01 MiB 	io.backitup.0
        43503 	iobroker 	70.32 MiB 	io.discovery.0
        44706 	iobroker 	136.44 MiB 	io.javascript.0
        43268 	iobroker 	452.73 MiB 	iobroker.js-controller
        

        nach Installation von openknx sieht es so aus

        43446 	iobroker 	126.69 MiB 	io.admin.0
        43485 	iobroker 	78.87 MiB 	io.backitup.0
        43503 	iobroker 	70.79 MiB 	io.discovery.0
        44706 	iobroker 	137.16 MiB 	io.javascript.0
        45167 	iobroker 	74.15 MiB 	io.openknx.0
        43268 	iobroker 	428.2 MiB 	iobroker.js-controller
        

        nach dem Import der Gruppenadressen ändert sich nicht viel. nun 10XX Objekte.
        RAM Auslastung gleich geblieben. So weit so gut!

        Modbus installiert und dann gehts auf einmal stark nach oben im Controller und das bleibt auch so:

        43446 	iobroker 	162.98 MiB 	io.admin.0
        43485 	iobroker 	79.99 MiB 	io.backitup.0
        43503 	iobroker 	71.31 MiB 	io.discovery.0
        44706 	iobroker 	140.34 MiB 	io.javascript.0
        45853 	iobroker 	71.99 MiB 	io.modbus.0
        45402 	iobroker 	82.3 MiB 	io.openknx.0
        45506 	iobroker 	81.64 MiB 	io.openknx.0
        43268 	iobroker 	953.04 MiB 	iobroker.js-controller
        

        Dann wollte ich eine Abkürzung nehmen und mein Backup einspielen, um modbus zu deinstallieren.
        Das Backup konnte ich aber erst einspielen, nachdem die 4GB RAM von Amazon da waren...
        Vorher: JavaScript heap out of memory (Das gesamte Backup ist ja ein einziges JSON Objekt. Hui)

        Es liefen dann erst mal nur die drei:

        4352 	iobroker 	941.7 MiB 	io.admin.0
        4404 	iobroker 	74.42 MiB 	io.backitup.0
        4326 	iobroker 	1.3 GiB 	iobroker.js-controller
        

        Und nun habe ich erst modbus deinstalliert, dann alles andere, bis auf openknx. Aber keine Änderung mehr.

        Es bleibt also offenbar nach Deinstallation von Adaptern noch was im Controller "liegen".
        Und ob es an modbus alleine liegt, weiß ich jetzt auch nicht.

        Hier steht er jetzt:

        5200 	iobroker 	762.28 MiB 	io.admin.0
        5303 	iobroker 	76.01 MiB 	io.backitup.0
        5252 	iobroker 	82.54 MiB 	io.openknx.0
        5151 	iobroker 	1.12 GiB 	iobroker.js-controller
        

        Jetzt muss ich wieder von vorne anfangen aber meine Zeit für heute ist erst mal um 😞

        ? 1 Reply Last reply Reply Quote 0
        • ?
          A Former User @Guest last edited by A Former User

          Ich habs gefunden! Da ist irgendwo ein Bug in der Admin UI im Zusammenspiel mit dem SQL Adapter! Ziemlich sicher bei der Aktion "alle Zustände bearbeiten".
          Und wahrscheinlich nur beim USERDATA Ast.

          Habe mir die Backup Datei angesehen, dort hab ich es gesehen. Da steht in den ganzen Objekten folgendes drin.

          Auf der Oberfläche steht es auch drin wenn man die die Objekte in der JSON Ansicht aufmacht.

          Da sollte eigentlich einfach "debounce": 1000 stehen. Stattdessen wird dort eingetragen:

          "debounce": [
                    0,
                    [
                      0,
                      [
                        0,
                        1000
                      ],
                      [
                        0,
                        1000
                      ],
          ... 34 Millionen Zeilen (!!!) später ...
                      [
                        0,
                        1000
                      ],
                      1000
                    ],
                    1000
                  ]
          
          
          Homoran paul53 mcm1957 3 Replies Last reply Reply Quote 0
          • ?
            A Former User last edited by

            Jetzt bin ich insgesamt auf knapp 1 GB RAM runter. Und schon reicht er wieder, mein PC 🖖

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

              @thomas_ sagte in Hardware Voraussetzungen bzw. Speicherverbrauch iobroker:

              in der Admin UI im Zusammenspiel mit dem SQL Adapter!

              hast du alle nodes in den Objekten aufgeklappt?

              ? 1 Reply Last reply Reply Quote 0
              • ?
                A Former User @Homoran last edited by

                @homoran

                @homoran said in Hardware Voraussetzungen bzw. Speicherverbrauch iobroker:

                @thomas_ sagte in Hardware Voraussetzungen bzw. Speicherverbrauch iobroker:

                in der Admin UI im Zusammenspiel mit dem SQL Adapter!

                hast du alle nodes in den Objekten aufgeklappt?

                ja, habe ich. Alles states gefiltert, um einzutragen, dass sie geloggt werden sollen. aber anstatt der 1000 hat er bei jedem Objekt ein array aus 4 mio mal [0,1000] eingetragen. Aber nur im USERDATA Ast (14 Objekte) war es falsch. Im ganzen KNX Ast (1000 Objekte ca.) ist es überall richtig eingetragen worden.

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

                  @thomas_ sagte in Hardware Voraussetzungen bzw. Speicherverbrauch iobroker:

                  ja, habe ich

                  das wäre schon mal die Erklärung für den admin.
                  Und wahrscheinlich abboniert die alle der js-Adapter bei jeder Änderung

                  @thomas_ sagte in Hardware Voraussetzungen bzw. Speicherverbrauch iobroker:

                  um einzutragen, dass sie geloggt werden sollen.

                  wie viele denn?

                  1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @Guest last edited by

                    @thomas_ sagte: Stattdessen wird dort eingetragen:

                    Also nicht zu viele Objekte, sondern einige Riesen-Objekte, die in js-controller, Admin und JS-Instanz gepuffert werden.

                    ? 1 Reply Last reply Reply Quote 0
                    • ?
                      A Former User @paul53 last edited by

                      @homoran said in Hardware Voraussetzungen bzw. Speicherverbrauch iobroker:

                      das wäre schon mal die Erklärung für den admin.
                      Und wahrscheinlich abboniert die alle der js-Adapter bei jeder Änderung

                      Abonnieren wird er da wahrscheinlich nichts, aber die Meta Daten von den Objekten holt er sich anscheinend.
                      Wobei das aber auch nicht so toll ist - das hat er dann alles komplett dauernd im Speicher. Wofür? Es soll doch nur mein Skript ausgeführt werden, sonst nichts.
                      Macht nur den Speicher voll... Auch wenn kein Fehler da ist.

                      @homoran said in Hardware Voraussetzungen bzw. Speicherverbrauch iobroker:

                      wie viele denn?

                      bei 950. davon 14 in userdata, bei denen es schief ging. Das muss aber noch nichts heißen. Vielleicht wollte die Admin UI auch bei den anderen die 4 Mio Arrays eintragen, nur hat er vorher die Grätsche gemacht. Müsste gesucht werden, der Bug - ist ja nicht gerade unerheblich. Ich bekomme ihn gerade nicht mehr aus dem Stand hin.

                      Ich wollte jedenfalls, dass alle Objekte im SQL geloggt werden.

                      @paul53 said in Hardware Voraussetzungen bzw. Speicherverbrauch iobroker:

                      @thomas_ sagte: Stattdessen wird dort eingetragen:

                      Also nicht zu viele Objekte, sondern einige Riesen-Objekte, die in js-controller, Admin und JS-Instanz gepuffert werden.

                      ganz genau. es waren bei mir 14 Riesen Objekte.

                      paul53 Homoran 2 Replies Last reply Reply Quote 0
                      • paul53
                        paul53 @Guest last edited by paul53

                        @thomas_ sagte: alles komplett dauernd im Speicher. Wofür?

                        Ohne die Puffer (Objekte / Zustände) können die synchronen Funktionen (z.B. getState(id), getObject(id)) nicht ausgeführt werden.

                        ? 1 Reply Last reply Reply Quote 0
                        • ?
                          A Former User @paul53 last edited by A Former User

                          @paul53 said in Hardware Voraussetzungen bzw. Speicherverbrauch iobroker:

                          @thomas_ sagte: alles komplett dauernd im Speicher. Wofür?

                          Ohne die Puffer (Objekte / Zustände) können die synchronen Funktionen (z.B. getState(id), getObject(id)) nicht ausgeführt werden.

                          Habs mir eben noch einmal angeschaut, das Ding.
                          Ich glaub eher, dass die Zustände da nicht gepuffert werden, sondern dass die Meta Daten für die Klickibunti Funktionen aka "Rules" gebraucht werden. Aber auch da könnte man sie nachher wieder abgeben, denn die Rules werden ja auch nur wieder zu JS Code.

                          Die Abfragen auf die Stati dürften direkt zum Backend durchgeleitet werden, hoffe ich, denn doppelte Speicherhaltung ist Käse. Weil sonst wenns mehr wird, wirds dann immer automatisch doppelt mehr. Oder stell dir vor, ich lege 10 Mio Objekte an. Und dann mache ich ein JS Skript, welches alle 2 Tage den Zustand des einen Objektes gleich dem Zustand des anderen Objektes setzt.
                          Bzw. beim Javascript Code muss man da gar nichts machen, denn der läuft ja alleine, ohne Gehhilfe. Wie dem auch sei. Ganze fast 1GB an Schrott wurden bei mir auch in die JS Engine permanent in den RAM übernommen (sogar ganz ohne Code) - und diesen Schrott mindestens, braucht sie nicht.

                          Aber alles nur Spekulation meinerseits, ich kenne die genaue Architektur natürlich nicht. Habe iobroker seit 4 Tagen.

                          paul53 1 Reply Last reply Reply Quote 0
                          • ?
                            A Former User last edited by

                            Wo bei meinen Tests weiter oben der RAM Spike nach der modbus Installation herkam, würde mich noch interessieren.
                            Da waren die Objekte noch nicht mit an Bord.

                            1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @Guest last edited by paul53

                              @thomas_ sagte: Die Abfragen auf die Stati dürften direkt zum Backend durchgeleitet werden

                              Das werden sie nur mit den asynchronen Versionen der betreffenden Funktionen (mit callback), denn der js-controller bietet keine synchronen Funktionen dafür. Für die synchronen Funktionen ist deshalb der Puffer erforderlich.

                              ? 1 Reply Last reply Reply Quote 0
                              • ?
                                A Former User @paul53 last edited by

                                @paul53 said in Hardware Voraussetzungen bzw. Speicherverbrauch iobroker:

                                @thomas_ sagte: Die Abfragen auf die Stati dürften direkt zum Backend durchgeleitet werden

                                Das werden sie nur mit den asynchronen Versionen der betreffenden Funktionen (mit callback), denn der js-controller bietet keine synchronen Funktionen dafür.

                                Ok wenn das so ist, dann trägt man den oben beschriebenen Rucksack

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

                                  @thomas_ sagte in Hardware Voraussetzungen bzw. Speicherverbrauch iobroker:

                                  alle Objekte im SQL geloggt werden.

                                  und wenn es "nur"

                                  @thomas_ sagte in Hardware Voraussetzungen bzw. Speicherverbrauch iobroker:

                                  bei 950

                                  sind, ist das schon sehr viel.
                                  ich bin ja schon ein Datenmessie, komme aber "nur" auf 340 States.

                                  ? 1 Reply Last reply Reply Quote 0
                                  • ?
                                    A Former User @Homoran last edited by A Former User

                                    @samson71 said in Speicherverbrauch durch im Admin UI aufgeblähte Objekte:

                                    @thomas_ sagte in Speicherverbrauch durch im Admin UI aufgeblähte Objekte:

                                    Den Titel habe ich eben erst verändert 😉

                                    Und das auch recht reißerisch von der Wirkung her. Mutet nach vermeintlicher Feststellung von irgendwelchen "Unzulänglichkeiten" an.

                                    ähm, das entspricht den Tatsachen. Es IST ein Fehler. Oder glaubst du, ich hab 4 Mio mal den Array da rein kopiert? Bitte.

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

                                      Kann da jetzt fachlich recht wenig dazu beitragen, aber mich irritiert dass der ganze Beitrag irgendwie im Unterforum "Einsteigerfragen" ist - spreche aber nur für mich ( bin ja auch kein Diplom Informatiker - sondern nur Koch - und ehrlich 😉 )

                                      Homoran ? 2 Replies Last reply Reply Quote 2
                                      • Homoran
                                        Homoran Global Moderator Administrators @DJMarc75 last edited by

                                        @djmarc75 da bist du mir jetzt zuvorgekommen 😉

                                        @Thomas_
                                        wo soll denn das Thema jetzt hin?
                                        es wird ziemlich nerdig!

                                        https://forum.iobroker.net/topic/59411/hinweise-zu-dem-unterforum-einsteigerfragen/1

                                        ? 1 Reply Last reply Reply Quote 1
                                        • ?
                                          A Former User @DJMarc75 last edited by

                                          @djmarc75 said in Hardware Voraussetzungen bzw. Speicherverbrauch iobroker:

                                          Kann da jetzt fachlich recht wenig dazu beitragen, aber mich irritiert dass der ganze Beitrag irgendwie im Unterforum "Einsteigerfragen" ist - spreche aber nur für mich ( bin ja auch kein Diplom Informatiker - sondern nur Koch - und ehrlich 😉 )

                                          Ich wusste ja vorher nicht, was da kommt 😉
                                          Den Titel habe ich eben erst verändert 😉

                                          Samson71 1 Reply Last reply Reply Quote 0
                                          • ?
                                            A Former User @Homoran last edited by

                                            @homoran said in Speicherverbrauch durch im Admin UI aufgeblähte Objekte:

                                            @djmarc75 da bist du mir jetzt zuvorgekommen 😉

                                            @Thomas_
                                            wo soll denn das Thema jetzt hin?
                                            es wird ziemlich nerdig!

                                            https://forum.iobroker.net/topic/59411/hinweise-zu-dem-unterforum-einsteigerfragen/1

                                            Es ist jetzt ein Bug Report, würde ich sagen

                                            Homoran mcm1957 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            471
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            75
                                            4171
                                            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