NEWS
Speicherverbrauch durch im Admin UI aufgeblähte Objekte
-
Jetzt bin ich insgesamt auf knapp 1 GB RAM runter. Und schon reicht er wieder, mein PC
-
@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?
-
@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.
-
@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?
-
@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.
-
@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 ÄnderungAbonnieren 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.
-
@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.
-
@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.
-
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. -
@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.
-
@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
-
@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. -
@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.
-
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
)
-
@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
-
@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 -
@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
-
@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.
-
@thomas_ sagte in Speicherverbrauch durch im Admin UI aufgeblähte Objekte:
Es ist jetzt ein Bug Report,
nöö!
erst wenn du es reproduzieren kannst.
Im Moment ist es anscheinend durch das Zusammentreffen von unglücklichen Umständen einmalig passiert.Un Fakten davon hab ich immer noch keine gesehen
-
@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.
Es ist ein Fehler und die Überschrift beschreibt den Fehler. Nicht mehr, nicht weniger.
Oder glaubt ihr jetzt, nachdem ihr ellenlang gedacht habt, ich kann die Speicherbelegung nicht richtig lesen, dass ich 32 Mio Zeilen JSON in die Admin UI rein kopiert hab, um euch zu ärgern?Schiebt den Thread halt da hin, wo er euch am besten gefällt und nennt ihn, wie ihr wollt.