NEWS
BackItUp-Adapter RAM-Verbrauch
-
@Homoran
Ist richtig, nur liegst Du beim Pi und beim NUC schon wieder zu hoch. Der Pi hat z.B. max 3,5W, aber schreibe ich oben schon was den Mehrverbrauch des RAM angeht, was unnötig ist, ist unnötig und wenn es 2€ im Jahr sind. Man sollte es einfach wissen und im Hinterkopf haben, denn die Summer der einzelnen Geräte bei denen es im einzelnen nicht relevant ist, macht den Unterschied.
Altes Sprichwort dazu: Kleinvieh macht auch MistVier mal NUC macht dann in Deiner Rechnung schon 100€, was auch kein Beinbruch ist, aber eben nicht nötig wenn es was kleineres auch tut und für die Verwendung ausreichend ist. Das muss jeder individuell entscheiden, kann er aber nur, wenn er es weiß. Mein Auto hat auch 280PS und es ist unnötig, macht aber Spaß
-
@Homoran said in BackItUp-Adapter RAM-Verbrauch:
Auch ein Backup benötigt sehr viel RAM, so dass zumeist während eines Backups die Probleme zuerst auftraten
Wegen temporärer Lastspitzen muss immer ein ausreichender Vorhalt da sein, und da ist es hinderlich wenn Dienste, obwohl sie nicht arbeiten viel Speicher belegen den sie NICHT freigeben. Da kommen wir nach vielen Umschweifen zur ursprünglichen Frage zurück warum das beim Backup Adapter so sein muss. Für mich sieht das halt so aus dass es die Architektur nicht so einfach hergibt, dass es andere mit Aufwand oder Tricks hinkriegen so dass man es eher nicht macht und lieber empfohlen wird Hardware aufzurüsten.
-
@killroy2
40MB was Du angibst ist nicht viel, und stört bei empfohlenen 4GB absolut nicht. Es gibt eben immer den Zeitpunkt an dem etwas zu klein wird und klar, man kann alles optimieren, verschiebt aber nur den Zeitpunkt etwas nach hinten -
-
@Homoran
der liegt aber auch nur minimal drüber, allerdings ist der auch nicht mehr weit vom NUC weg und somit im direkten Vergleich trotz der 4GB RAM uninteressant, da ist nur noch der Preis ein Argument. Ein kleiner NUC liegt um die 5W wenn er nicht viel zu tun hat, was unter Volllast auf ca. 10W ansteigen kann. Also alles noch recht wenig Verbrauch. -
@Jan1 sagte in BackItUp-Adapter RAM-Verbrauch:
Ein kleiner NUC liegt um die 5W wenn er nicht viel zu tun hat, was unter Volllast auf ca. 10W ansteigen kann. Also alles noch recht wenig Verbrauch.
da hatte ich eben 6-10W geschrieben
@Jan1 sagte in BackItUp-Adapter RAM-Verbrauch:
ist der auch nicht mehr weit vom NUC weg und somit im direkten Vergleich trotz der 4GB RAM uninteressant,
Den gibt es aber auch mit 1-8GB, ich habe nur 2
-
@Marty56 sagte in BackItUp-Adapter RAM-Verbrauch:
@simatec Meine Erfahrung mit dem Compact Mode beim Backup Adapter sind negativ. Ich habe diverse unerklärliche Fehler. Du kennst mein Issue.
Das hatte ich dir auch im Issue geschrieben und ist auch in der offiziellen Doku von iobroker zu lesen, dass der compact-Modus den Nachteil hat, dass hier eine gewisse Instabilität auftreten kann.
https://www.iobroker.net/#de/documentationWas ich mache ist, dass ich den Adapter einfach per Script disable und dann wieder enable, wenn er sein Backup machen soll.
Ich verstehe auch die Argumente mit den mehreren Timern nicht. z.B. der Yr Adapter hat auch mehrere Timer und belegt dennoch nicht ständig RAM:
Was haben denn die mehreren Timer damit zu tun?
Es liegt schlicht und ergreifend daran, dass node jedes Backup in ein Archiv packt und dafür der RAM als Zwischenspeicher genutzt wird.
D.h. wenn du deine History, Redis, mysql etc. packst, kommt da einiges an Daten zusammen, die im RAM zwischengelagert werden.
Da Linux so intelligent ist und den RAM sehr gut organisiert, wird halt dann der RAM für Backitup reserviert.
Es ist aber ein riesengroßer Unterschied zwischen RAM belegt und RAM reserviert.
Sollte dein System an einer anderen Stelle den RAM brauchen, gibt Linux den wieder frei.Und falls du dies manuell machen willst, brauchst du nur in den Instanzen einen Timer setzen und Backitup jede Nacht einmal neustarten. Somit wird der RAM auch wieder freigegeben.
Ehrlich gesagt verstehe ich das Problem nicht so recht ...
-
@simatec said in BackItUp-Adapter RAM-Verbrauch:
Es liegt schlicht und ergreifend daran, dass node jedes Backup in ein Archiv packt und dafür der RAM als Zwischenspeicher genutzt wird.
D.h. wenn du deine History, Redis, mysql etc. packst, kommt da einiges an Daten zusammen, die im RAM zwischengelagert werden.Sobald ich backitup starte sind 70MB in Verwendung. Ich habe alle Haken entfernt und das Backup ist in Zukunft, d.h. er macht aktuell nichts (nach den Einstellungen). Was du beschreibst sind Aktionen zum getriggerten Zeitpunkt des Backups, aber nichts was im Idle Status gemacht wird.
Da Linux so intelligent ist und den RAM sehr gut organisiert, wird halt dann der RAM für Backitup reserviert.
Es ist aber ein riesengroßer Unterschied zwischen RAM belegt und RAM reserviert.
Sollte dein System an einer anderen Stelle den RAM brauchen, gibt Linux den wieder frei.Nochmal, was IoBroker anzeigt ist der tatsächliche verbrauchte Speicher. Die Swaps etc. freigeben z.B. echo 3 > /proc/sys/vm/drop_caches hat keine Auswirkung auf den Wert. Warum auch immer scheint es hier zu diesem Thema eine grosse Verwirrung zu geben.
Ehrlich gesagt verstehe ich das Problem nicht so recht ...
Ich hoffe es wurde damit klar. Für was braucht das Backup im Idle viel Speicher.
-
@killroy2 sagte in BackItUp-Adapter RAM-Verbrauch:
Was du beschreibst sind Aktionen zum getriggerten Zeitpunkt des Backups, aber nichts was im Idle Status gemacht wird.
Das ist korrekt ... Aber was sind 70 MB. Es gibt sehr viele Adapter, die ebenfalls 70 MB benötigen.
Also verstehe ich die Diskussion nicht.
Als Beispiel mal Web-Speedy ... Dieser Adapter macht auch zyklisch einen Check und eine Messung der Internetverbindung und läuft dementsprechend auch nur alle x Minuten oder Stunden und hat ebenfalls einen RAM Reservierung von um die 70 MB.Holt euch doch einfach dementsprechende Hardware zu dem was ihr mit iobroker machen wollt.
Ich kann nicht nachvollziehen, wie viele der User hier 30 Adapter und mehr auf einem PI oder vergleichbarer Hardware nutzen wollen und sich dann wundern, dass der RAM eng wird. -
@killroy2 sagte in BackItUp-Adapter RAM-Verbrauch:
Was du beschreibst sind Aktionen zum getriggerten Zeitpunkt des Backups, aber nichts was im Idle Status gemacht wird.
Dann beschäftige dich mal mit dem Adapter und schaue dir den Code an und mal den debug Log.
Da wirst du sehen, dass hier nicht nur zum Zeitpunkt der Backuperstellung etwas passiert. -
@simatec
Ich sehe aber nichts was er effektives ausserhalb der cron Zeit macht.
Es gibt event listener um auf Einstellungsänderungen zu reagieren. Also Dinge die einmal zur Konfigurationszeit passieren. Dafür den Adapter als daemon laufen zu lassen ist schon Verschwendung.
Der Ram-Verbrauch im IOBroker ist ein Hauptkritikpunkt, auch wenn das manche lapidar abtun wollen. Das schein auch Gehör zu finden sonst würden keine Massnahmen dagegen ergriffen worden sein. -
@killroy2
Das Konzept von Backitup ist aber so aufgebaut und wird aufgrund des Funktionsumfangs auch nicht als schedule umgebaut.
Wie gesagt, 70 MB sind in der Zeit von Rechnern mit > 16 GB kein Problem und kein Grund hier Änderungen vorzunehmen.