Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [Frage] Anzeige Speicherverbrauch unter Instanzen

    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

    [Frage] Anzeige Speicherverbrauch unter Instanzen

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      Creator last edited by

      Nur so als Idee.

      Ich nutze Debian Jessi installiert in einer VM mit Aktuell 1500MB Ram.

      Die VM ist nur für ioBroker.

      Unter Instanzen wird mir folgendes angezeigt:

      Insgesamt RAM verbraucht: 468 MB / Frei: 224 MB (15%) [Host: iobroker - 9 Prozesse]

      Das hat mich erst erschrocken, weil der Ram mit den Tagen immer weniger wurde so das ich auf die Suche gegangen bin.

      Mit htop ist leicht zu sehen, dass ca. 750MB für den Cache benutzt werden.

      Ich finde die Darstellung daher etwas verwirrend, da 224MB ja nicht mehr wirklich viel sind, wenn die Installation noch nicht viel beinhaltet.

      Könnte man den Cache rausrechnen oder diesen Extra ausweisen?

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

        gugste u.a. hier:

        http://forum.iobroker.net/viewtopic.php … 222#p60222

        Dazu gibt es einige Threads hier im Forum.

        Gruß

        Rainer

        1 Reply Last reply Reply Quote 0
        • C
          Creator last edited by

          Ich glaube du hast mich falsch verstanden.

          Die Anzeige oben Rechts im Bild meine Ich.

          Das ist einfach missverständlich wenn man 1,5gb Ram zur Verfügung hat.

          Im Grunde interessieren mich solche Werte nur sehr eingeschränkt aber ich fand die Zahlen da halt missverständlich.
          1002_beispiel.jpg

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

            @Creator:

            Ich glaube du hast mich falsch verstanden. `
            ich habe dich schon richtig verstanden!

            Hast du richtig gelesen 😉
            > Das RAM wird gut genutzt. Hier sieht man schön den Unterschied zwischen "freiem" (173MB) und verfügbarem (1253 MB) RAM. Die Differenz wurde den Prozessen "geliehen", damit sie bei Bedarf da schnell drauf zugreifen können. Wird das RAM aber woanders benötigt (z.B. bei Updates) wird es wieder dort abgezogen.

            Gruß

            Rainer

            1 Reply Last reply Reply Quote 0
            • C
              Creator last edited by

              Die genannte Textpassage hatte ich wohl überflogen.

              > Das RAM wird gut genutzt. Hier sieht man schön den Unterschied zwischen "freiem" (173MB) und verfügbarem (1253 MB) RAM. Die Differenz wurde den Prozessen "geliehen", damit sie bei Bedarf da schnell drauf zugreifen können. Wird das RAM aber woanders benötigt (z.B. bei Updates) wird es wieder dort abgezogen.

              Der eigentlich benutzbare Ram "verfügbar" wird aber nicht genannt. Wie viel im Cache ist aus meiner Sicht eine unwichtige Information, da dieser ja Dynamisch genutzt wird.

              Ich fand es nur ein wenig missverständlich weil ich mich gefragt hatte wo mein RAM auf einmal hin ist.

              Daher wäre mein Vorschlag wenn man die Info anzeigt, dass man zwei Werte darstellt.

              Vorhandener RAM und Ausgelasteter RAM. Also bei mir z.b. 465 von 1500MB RAM.

              Da diese Werte jetzt auch nicht wirklich wichtig sind, könnte man auch das Gesamte System betrachten und die "Load average" darstellen.

              Vermutlich ist es egal wie man es macht irgendwer wird immer meckern :roll: :lol:

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

                @Creator:

                weil ich mich gefragt hatte wo mein RAM auf einmal hin ist. `
                http://www.linuxatemyram.com/ 😉

                @Creator:

                könnte man auch das Gesamte System betrachten und die "Load average" darstellen. `
                auch das ergibt nicht unbedingt sinnvolle Werte da die LOAD ja nur angibt, wieviele Prozesse in der Warteschlange sind. Die können da aber auch prozessbedingt warten 😉

                Sinnvoller wäre da IMHO die echte CPU-Auslastung.

                Ich habe dazu schon mal was gesucht und irgendwo gepostet.

                Ist aber auch nicht so einfach dran zu kommen, da diese sich im Sekundentakt erheblich ändern kann.

                Gruß

                Rainer

                1 Reply Last reply Reply Quote 0
                • C
                  Creator last edited by

                  > auch das ergibt nicht unbedingt sinnvolle Werte da die LOAD ja nur angibt, wieviele Prozesse in der Warteschlange sind. Die können da aber auch prozessbedingt warten
                  Es gibt aber ja schon einen Überblick über die System Auslastung über einen gewissen Zeitraum.

                  Wenn alle Kerne bei 100% laufen und das 5 min lang sagt das ja schon mehr aus, als wenn man 100% Auslastung für 2sek. hat.

                  Bei 1 Kern wie in meiner VM würde ich durchaus mal aktiv werden wenn die Load seit 15min auf 2,5 oder noch höher stehen würde.

                  Außer ich sorgen dafür aktiv.

                  Die Frage ist wohl, für was der Wert an dieser Stelle gedacht ist.

                  Und wenn es die Frage eines Anwenders beantworten soll ob die Kiste noch mehr Instanzen verkraftet, dann ist die dargestellte Information durchaus missverständlich.

                  Daher ist wohl die richtige Frage was will man dem Anwender mit dieser Information mitteilen.

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

                    @Creator:

                    Wenn alle Kerne bei 100% laufen und das 5 min lang sagt das ja schon mehr aus, `
                    und genau das wird durch die LOAD nicht dargestellt - seltsamerweise.

                    Mein Cubitruck mit 2 Kernen hat öfters eine Load Average 5 Min >2.

                    Trotzdem zeigt die Angabe CPU(s) Used unter TOP noch lange keine 100% (Meist deutlich niedriger) an.

                    Gruß

                    Rainer

                    1 Reply Last reply Reply Quote 0
                    • C
                      Creator last edited by

                      Ich meine das die Load nicht nur die CPU Last berücksichtigt.

                      Wenn CPU kaum was tut aber die Prozesse alle auf IO warten,

                      dann geht die Load average auch deutlich nach oben.

                      ` > Mein Cubitruck mit 2 Kernen hat öfters eine Load Average 5 Min >2.

                      Trotzdem zeigt die Angabe CPU(s) Used unter TOP noch lange keine 100% (Meist deutlich niedriger) an. `

                      Das kannst du ja mit atop dir dann anschauen wo es da hakt.

                      Ich vermute ganz stark IO.

                      Daher finde ich den Wert durchaus interessant weil er halt nicht nur einen Parameter als Grundlage verwendet.

                      Nur würden die meisten diesen Wert nicht verstehen.

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

                        Hallo mitsammen!

                        Da ich auch mal nervös wurde un meinen Raspi schon an die Speichergrenzen stoßen sah hab ich auch mal nachgeforscht.

                        Wer Linux hat kann mit

                        free -m
                                      total       used       free     shared    buffers     cached
                        Mem:           859        533        326         85         26        151
                        -/+ buffers/cache:        356        503
                        Swap:           99          3         96
                        
                        

                        -m = in Megabytes den Speicher anzeigen lassen. In dem System läuft neben ioBroker mit Redis auch PostgeSQL und motion und 14 Prozesse laut iobroker.admin.

                        Die wichtige Zeile ist +/- buffers/cache, also wie viel von den Programmen benutzt wird und wie viel für buffers+cache zur Verfügung steht.

                        Warum habt ihr so viel im buffer und im cache (im Vergleich zu mir)?

                        Das liegt wahrscheinlich daran dass ihr den cache nie gelöscht habt!

                        Ich hab mir mal eine kleines Kommando geschrieben die den cache leert:

                        #!/bin/sh
                        echo 3 | sudo tee /proc/sys/vm/drop_caches
                        
                        

                        Damit wird alles wass z.B. beim Start vom System oder ioBroker mal in den cache geladen wurde rausgeschmissen und benötigte Daten neu geladen.

                        Dies bewirkt auch dass der gesamte Platz mehr oder wenig ausschliesslich dem ioBroker (und den anderen laufenden Programmen) zur Verfügung steht und nur Daten die jetzt nachgeladen werden wieder in den cache wandern.

                        Ich führe den cacheclean nach dem Hochfahren in einer meiner javascripts aus und manuell auch nach updates von SW oder Adaptern.

                        Damit hab ich selten unter 30% freien Speicher und alles was ioBroker (Vis, Postgre, motion…) braucht passt auch in den cache. Hab mir schon überlegt den Befehl automatisch jeden Tag auszuführen aber das war eigentlich nie notwendig da er im normalen Betrieb nie voll geworden ist, außer ich debugge 'ne Menge mit Log-Daten ....

                        Also checkt mal, aber seit ich das kenne/habe/mache hab ich die 'speicherangst' auch für meinen Raspi verloren!

                        1 Reply Last reply Reply Quote 0
                        • C
                          Creator last edited by

                          ` > Warum habt ihr so viel im buffer und im cache (im Vergleich zu mir)?

                          Das liegt wahrscheinlich daran dass ihr den cache nie gelöscht habt! `

                          Das passiert von alleine. Vermutlich gibt es dafür irgendwo Setting Werte wie man das vom Apache her kennt.

                          Einen Cache zu löschen macht ja nur wirklich Sinn, wenn sich die Infos im Cache verändert haben.

                          Ansonsten bringt der Cache ja genau nichts.

                          Der Cache hat sich bei mir nach un nach aufgebaut. Nach einer Woche waren die oben stehenden Werte erreicht.
                          > Also checkt mal, aber seit ich das kenne/habe/mache hab ich die 'speicherangst' auch für meinen Raspi verloren!
                          Speicher Angst habe ich nie. 🙂 Unter anderem, weil ich eine VM nutze. 8-)

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

                            @Creator:

                            ` > Warum habt ihr so viel im buffer und im cache (im Vergleich zu mir)?

                            Das liegt wahrscheinlich daran dass ihr den cache nie gelöscht habt! `
                            Das passiert von alleine. Vermutlich gibt es dafür irgendwo Setting Werte wie man das vom Apache her kennt.

                            Einen Cache zu löschen macht ja nur wirklich Sinn, wenn sich die Infos im Cache verändert haben.

                            Ansonsten bringt der Cache ja genau nichts. `

                            Ja, nein vielleicht 😉

                            Auch bei dem von mir verlinkten Screenshot war der Cache sehr groß.

                            Dies passiert insbesondere bei Installationen (bei mir habe ich das gesamte System gerade neu aufgesetzt)

                            Nach dem ersten reboot sind wieder 1GB "freies" RAM vorhanden und das ziemlich stabil seit etwa 3 Tagen.

                            Ich glaube, dass diese Speicherverwaltung auch mit der nodejs-Version zu tun hat. So schein mir nodejs 6+7 wesentlich weniger Cache zur verfügung zu stellen als nodejs 4.

                            Trotzdem wird das "freie" RAM langsam weiter sinken - bis zumnächsten reboot.

                            Die automatische garbage collection beginnt IMHO erst wenn das "freie" RAM zu wenig wird. Und da bei nodejs 4 anscheinend manchmal sogar etwas zu spät. Zumindest habe ich da schon mal Effekte erlebt, die ich auf einen "freien" Speicher von 0 MB zurückführen würde.

                            Gruß

                            Rainer

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

                              Rainer,

                              Nodejs Speicherverwaltung hat nichts mit dem linux-cache zu tun. Das freie Ram sinkt weil Linux es als Cache einsetzt, und der Befehl

                              echo 3 | sudo tee /proc/sys/vm/drop_caches

                              free -m

                              löscht nur den Linux-cache aber nicht den nodejs-Speicher.

                              Alles was von/auf die HD/SD/USB geschrieben wird landet im cache. also jeder log-event oder sql/history -Befehl bewirkt dass der freie Speicher weniger wird, was aber nicht so schlimm ist, wird der Speicher ja sofort für was anderes verwendet falls nötig.

                              Ein wirkliches Anzeichen dass es einen Engpass gab ist der Swap-Bereich. Wenn da mal was benutzt wurde dann war der Speicher zu knapp und nicht alle Programme/Daten konnten mit Speicher bedient werden.

                              Das passiert bei mir nur wenn ich z.B. im laufenden Betrieb Updates von Adaptern mache die 'ne Menge C(++) code compilieren müssen.

                              Wenn Swap used 0 ist bedeutet dass alles was momentan Speicher braucht in den Speicher passt.

                              Wenn er mal >0 aber sich nicht mehr verändert dann wurde mal kurz ausgelagert aber momentan ist kein neuer Bedarf.

                              Wenn er permanent ansteigt dann hast du ein Problem.

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

                                Noch ein Punkt: Wenn ihr Swap ausschalten/einschalten möchtet dann geht das hier:

                                sudo swapoff -a
                                
                                

                                und

                                sudo swapon -a
                                
                                

                                In einem script schaffen es beide dass swap auf 0 geht aber in Wirklichkeit hat das keinen Einfluss außer ihr habt wirklich zu wenig Speicher.

                                1 Reply Last reply Reply Quote 0
                                • G
                                  gimix last edited by

                                  @fsjoke:

                                  Hallo mitsammen!

                                  Da ich auch mal nervös wurde un meinen Raspi schon an die Speichergrenzen stoßen sah hab ich auch mal nachgeforscht.

                                  Wer Linux hat kann mit

                                  free -m
                                                total       used       free     shared    buffers     cached
                                  Mem:           859        533        326         85         26        151
                                  -/+ buffers/cache:        356        503
                                  Swap:           99          3         96
                                  
                                  

                                  -m = in Megabytes den Speicher anzeigen lassen. In dem System läuft neben ioBroker mit Redis auch PostgeSQL und motion und 14 Prozesse laut iobroker.admin.

                                  Die wichtige Zeile ist +/- buffers/cache, also wie viel von den Programmen benutzt wird und wie viel für buffers+cache zur Verfügung steht.

                                  Warum habt ihr so viel im buffer und im cache (im Vergleich zu mir)?

                                  Das liegt wahrscheinlich daran dass ihr den cache nie gelöscht habt!

                                  Ich hab mir mal eine kleines Kommando geschrieben die den cache leert:

                                  #!/bin/sh
                                  echo 3 | sudo tee /proc/sys/vm/drop_caches
                                  
                                  

                                  Damit wird alles wass z.B. beim Start vom System oder ioBroker mal in den cache geladen wurde rausgeschmissen und benötigte Daten neu geladen.

                                  Dies bewirkt auch dass der gesamte Platz mehr oder wenig ausschliesslich dem ioBroker (und den anderen laufenden Programmen) zur Verfügung steht und nur Daten die jetzt nachgeladen werden wieder in den cache wandern.

                                  Ich führe den cacheclean nach dem Hochfahren in einer meiner javascripts aus und manuell auch nach updates von SW oder Adaptern.

                                  Damit hab ich selten unter 30% freien Speicher und alles was ioBroker (Vis, Postgre, motion…) braucht passt auch in den cache. Hab mir schon überlegt den Befehl automatisch jeden Tag auszuführen aber das war eigentlich nie notwendig da er im normalen Betrieb nie voll geworden ist, außer ich debugge 'ne Menge mit Log-Daten ....

                                  Also checkt mal, aber seit ich das kenne/habe/mache hab ich die 'speicherangst' auch für meinen Raspi verloren! `

                                  Sorry für das Ausgraben, aber ich bekomm diesen Skript nicht laufen. Hab in ioBroker unter Skripten das als Javaskript eingepflegt aber da kommt immer eine Fehlermeldung dass der Compiler Failed.

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    michihorn last edited by michihorn

                                    @frankjoke sagte in [Frage] Anzeige Speicherverbrauch unter Instanzen:

                                    echo 3 | sudo tee /proc/sys/vm/drop_caches

                                    Hallöchen
                                    wird in einem Multihost System nur der Cache berührt, auf dem das Script läuft?
                                    In diesem Fall der Master in der Java Instanze 1

                                    var cacheclear = 'echo 3 | sudo tee /proc/sys/vm/drop_caches'
                                    schedule("0 */2 * * *", function () { 
                                    exec ('cacheclear');
                                       log("Cache gereinigt")   
                                    });
                                    

                                    Michael

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate
                                    FAQ Cloud / IOT
                                    HowTo: Node.js-Update
                                    HowTo: Backup/Restore
                                    Downloads
                                    BLOG

                                    664
                                    Online

                                    31.9k
                                    Users

                                    80.1k
                                    Topics

                                    1.3m
                                    Posts

                                    5
                                    16
                                    3513
                                    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