Speicherbedarf wächst kontinuierlich an

Einklappen
X
Einklappen
+ weitere Optionen
Beiträge
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Xenobiologist
    Lox Guru
    • 15.01.2016
    • 1123

    #1

    Speicherbedarf wächst kontinuierlich an

    Hallo zusammen,

    ich habe den Speicherbedarf des Miniservers mal jede Minute in einer influxDB gespeichert.
    Der Bedarf wächst stetig an, auch wenn ich keine Änderungen an der Konfiguration vornehme.

    Habt ihr dieses Verhalten auch?

    Wenn ich einen "Strom an / Strom aus" oder richtigen Reboot per API mache, dann wird der Speicher "zurückgesetzt".

    DANKE!

    Mega

    Node-RED mit influxDB und Grafana - z.B. Statistiken auslagern:
    https://www.loxforum.com/forum/germa...d-grafana-visu
    Mit Loxone einen Windows-PC steuern:
    https://www.loxforum.com/forum/faqs-...indows-steuern
  • svethi
    Lebende Foren Legende
    • 25.08.2015
    • 6334

    #2
    Und was passiert wenn Du ihn laufen läßt? Hängt der sich weg?
    Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

    Kommentar


    • Xenobiologist
      Xenobiologist kommentierte
      Kommentar bearbeiten
      Nein, aber es wird langsamer. Konfig laden und speichern.
  • Gerrit
    MS Profi
    • 26.08.2015
    • 942

    #3
    Ja nur weil der Speicherverbrauch ansteigt, heißt es noch nicht, dass es ein Speicherleck gibt. Und auch wenn du nichts machst, so laufen im Hintergund ja immer wieder automatische Prozesse, HTTP Anfragen zu Loxone, Wetterservice auch wenn man ihn nicht hat, ..., bzw. dein Programm selbst. Da gibt es dann bestimmt auch Dinge, die immer wieder neu angelegt werden im Hintergrund im Speicher und die alten sind obsolet. Aber das muss der Server nicht zwingend sofort aufräumen, wenn noch Platz da ist. Also wie svethi schreibt, wichtig ist was passiert, wenn der Speicher am Limit ist oder im laufenden Betrieb der Verbrauch wieder sinkt. Sinkt er immer auf den selben Wert oder steigt dieser Minimum Wert auch sukzessive an. Wenn es dann bedenkliche Ergebnisse gibt, kannst du die ja an Loxone melden, denn nur die können Speicherlecks schließen bzw. den verbrauchten Speicher analysieren.

    Kommentar

    • doc-brown
      Lox Guru
      • 13.09.2015
      • 1489

      #4
      klingt irgendwie wie "windows" ;-)

      Kommentar

      • BSiege
        LoxBus Spammer
        • 04.10.2015
        • 249

        #5
        Wen wundert's? Aber 2-3Tage sind noch nicht relevant. Ein Monat müsste es schon sein um Aussagekräftig zu sein.

        Kommentar

        • Christian Fenzl
          Lebende Foren Legende
          • 31.08.2015
          • 11244

          #6
          Ein bisschen anders als Windows ist das schon!

          Das Miniserver-Betriebssystem hat 8 MB (nicht 10GB), und 64 MB RAM statt 8 GB :-)
          Es wird in C++ programmiert, da gibt es keinen Garbage Collector wie in C# oder Java. Da ist niemand, der hinterher aufräumt, wenn was übrig bleibt. Das macht den MS durchaus anfälliger für Memory Leaks. Es darf also nichts übrig bleiben, wenn eine Routine den Speicher nicht mehr braucht.

          Das finde ich wirklich Spitze, dass die Firmware-Entwickler wirklich sparsam arbeiten, und trotz der vielen Threads alles so stabil läuft.

          Dass der Speicher langsam steigt, kann auch damit zusammenhängen, dass Funktionen erst mit der Zeit aufgerufen werden, die dann auch Daten ablegen (bewusst). Alle Analogspeicher, verzögerte Merker, alle Statistiken für je eine Stunde, usw.

          Die Miniserver-Firmware auf 64MB ist schon bemerkenswert. Die Loxone Android-App braucht z.B. bei mir gerade 283MB RAM. Sie ist im RAM 3x größer wie der Google Chrome.
          Zuletzt geändert von Christian Fenzl; 30.11.2017, 22:30.
          Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

          Kommentar

          • orli
            Lox Guru
            • 13.11.2016
            • 2559

            #7
            Der RAM Verbrauch als solches sagt ja auch nicht allzu viel aus. Das Betriebssystem kann den freien RAM ja auch einfach als Cache allokieren wie es zB Linux macht. Man müsste schon genau analysieren wofür der RAM genutzt wird bevor man auf ein Leak schließen kann.

            Kommentar

            • Labmaster
              Lox Guru
              • 20.01.2017
              • 2622

              #8
              Was man an der Grafik oben nicht übersehen sollte, ist die Skalierung.
              Das Ausschnitt zeigt nur einen kleinen Ausschnitt der Gesamthöhe, die max. zyklische Änderung ist nicht mal 1/5 bezogen auf den max Ausschlag.

              Kommentar

              • Xenobiologist
                Lox Guru
                • 15.01.2016
                • 1123

                #9
                Danke, für eure Hinweise. Ich habe ja auch nicht behauptet, dass da ein Problem vorliegen muss.
                Ich wollte lediglich wissen ob es quasi normal und bei euch auch so ist.

                Ich werde es mal für längere Zeit mitlaufen lassen und schauen ob Probleme auftreten.
                Der Anstieg sieht sehr regelmäßig aus.

                Edit: Statistiken habe ich Trockner und Waschmaschine als Verbraucher - hier wird jeweils der Durchschnittsverbrauch der Stunde gespeichert.
                Zuletzt geändert von Xenobiologist; 02.12.2017, 13:01.
                Node-RED mit influxDB und Grafana - z.B. Statistiken auslagern:
                https://www.loxforum.com/forum/germa...d-grafana-visu
                Mit Loxone einen Windows-PC steuern:
                https://www.loxforum.com/forum/faqs-...indows-steuern

                Kommentar

                • svethi
                  Lebende Foren Legende
                  • 25.08.2015
                  • 6334

                  #10
                  Ich vermute mal, dass über die Zeit immer mal neue Funktionen geladen werden und diese dann wie bei Linux im Speicher gehalten werden um diese beim nächsten Zugriff schnell ausführen zu können. So wird der Speicher langsam voll wird zusätzlicher gebraucht, werden alte freigegeben. Die Priorität würde in meinen Augen auch auf dem SPS liegen, da man im Normalbetrieb nicht ständig neue Konfig reinläd. Wenn der Miniserver/SPS/Programm langsamer werden würde, dann würde ich das auch bedenklich finden. Kann man das irgendwie testen?? Dann könnte man mit den Daten an Loxone herantreten und Klärung fordern

                  Gruß Sven
                  Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

                  Kommentar

                  • Xenobiologist
                    Lox Guru
                    • 15.01.2016
                    • 1123

                    #11
                    Ich habe mittlerweile meine Konfiguration an Loxone geschickt und die Bestätigung bekommen, dass das Verhalten ca. + 800 KB pro Tag an Speicherverbrauch nachvollziehbar ist.
                    Das Ticket wurde jetzt an die Entwicklung übergeben.
                    Mal sehen, was daraus wird.
                    Node-RED mit influxDB und Grafana - z.B. Statistiken auslagern:
                    https://www.loxforum.com/forum/germa...d-grafana-visu
                    Mit Loxone einen Windows-PC steuern:
                    https://www.loxforum.com/forum/faqs-...indows-steuern

                    Kommentar

                    • Gast

                      #12
                      Ich beobachte den Speicherverbrauch schon länger und logge mit. Mit der V9 ist das Verhalten zumindest bei mir deutlich besser geworden...

                      Kommentar

                      • Tico
                        Lox Guru
                        • 31.08.2016
                        • 1035

                        #13
                        Gast - Gute Idee. Richte einfach meinen eigenen Monitor ein, um es zu überprüfen.

                        Verwenden Sie zur Information anderer eine virtuelle eingabe mit adresse -

                        http : // Benutzername : Passwort @ MiniserverIP : Port / dev / sys / heap

                        Befehlserkennung -

                        value="\v

                        Ausgabe in einen formelblock -

                        (I1/51744)*100
                        Zuletzt geändert von Tico; 07.12.2017, 23:41.
                        Ich spreche kein Deutsch. Gib Google Translate die Schuld, wenn ich unverständlich bin.

                        Kommentar

                        Lädt...