IPS sehr memory hungrig?

ich hab das Problem leider nach wie vor.

Mir ist jetzt aber folgendes aufgefallen (in Ahnlehnung an diesen Thread: Float Werte addieren, komisches verhalten.)

Ich schreibe den jährlichen Gasverbrauch einmal pro Jahr in eine Variable und logge die mit.
Das ergibt lt. Archive handler eine Größe von 303 Byte und 13 Einträgen.

Wenn ich mir aber das dazugehörige csv anschaue, wird das jede Stunde geschrieben, meistens mit sehr vielen Nachkommastellen und auch unterschiedlichen Werten, obwohl nix dazukommt…die Variable wird ja nur einmal pro Jahr aktualisiert.
Das lässt die Größe natürlich extrem ansteigen (über 4 MB für eine Variable).


Ich hab das Profil aber auf 2 Nachkommastellen eingestellt.

Nachdem ich aber jede Menge von diesen großen csv Dateien habe und diese auch ins Memory geladen werden, ist das wohl die Ursache von meinem Speicherproblem.

@paresy: hast du eine Idee dazu?

Fürs Logging werden leider nicht die Profildaten, sondern die internen Rohdaten geloggt. Das hatte ich schonmal vor ca. 10 Jahren angemerkt. Workaround: zweite Variable per Script auf fixe Nachkommastellen setzen und diese loggen.

ok, danke für den Hinweis.

Aber wie mache ich das?
Und warum ändert sich das csv jede Stunde, obwohl die Variable nur einmal pro Jahr per script geändert wird?

Das wäre ja fatal.
Das Archiv sollte immer die echten Rohdaten enthalten. Da die Profile ausschließlich für die Darstellung sind.
Michael

Jede Variable enthält immer alle Aggregationsstufen. Die kleinste ist dabei „Stunde“ und wird somit auch jede Stunde geschrieben, damit du ggf. Abfragen darauf sehr schnell machen kannst. Die Aggregation sollte jedoch sofern du nicht gerade 1000 dieser Variablen hast, kein Problem darstellen.

paresy

Danke für euer Feedback.

Das Problem ist jedoch, dass ich doch viele solcher Variablen habe und diese anscheinend den großen Memoryverbrauch verursachen.
Es macht m.E. keinen Sinn, den unveränderten Zahlenwert der Floatvariable jede Stunde neu zu aggregieren und dadurch csv Dateien mit 80000 Einträgen und paar MB Größe zu generieren.

Wie kann ich nun das Problem lösen?

Mir ist grad aufgefallen, dass ich das auch bei integer Variablen habe, dass sich die in der 13. Nachkommastelle ändern, obwohl sie gleich geblieben sind.

zb. beim Loggen der Betriebsstunden, der über lange Zeit einen unveränderten Wert von 901 hat.
Bei mir ergibt sich daraus ein csv mit 48000 Einträgen und 2 MB Größe.

Das Problem kannst du in dem Sinne aktuell gar nicht lösen. Wir wollen zur 5.5 einige Veränderungen im Archiv vornehmen - insbesondere weniger der Aggregationen in den RAM laden. Auf der Festplatte werden die paar MB jedoch weiterhin beleiben, da den Fall eher Sonderfall ist. Normalerweise werden in Variablen ja fortlaufend Daten gesammelt. :slight_smile:

Du müsstest dich also aktuell bis zur 5.5 gedulden :slight_smile:

paresy

@paresy:
Der Update auf die 5.5 hat das Problem tatsächlich behoben, ips braucht jetzt grad mal ca. 200 MB Memory.

Vielen Dank an das Entwicklerteam für diese Optimierung :D:loveips::loveips::loveips:

Perfekt. Vielen Dank für dein Feedback!

paresy