Ich bin mit Home Assistant vom Raspberry Pi 4 zu einem Lenovo Mini PC mit Proxmox umgezogen. Funktioniert soweit echt schnell und stabil. Kann wirklich nicht klagen. Allerdings habe ich ein paar Fragen zur Ram Zuweisung unter Proxmox:
Wieviel Speicher habt ihr Home Assistant zugewiesen?
Wie ist die Auslastung bei euch?
Ich bin mit 4 GB angefangen. Lief stabil. Keine Probleme. Allerdings war die Auslastung permanent sehr hoch. Im Schnitt hat sich HA von den 4GB 3,57GB genommen. Auslastung fand ich recht hoch. Hab HA denn 6GB zugewiesen. Prozentual ist die Auslastung zwar runter gegangen, aber inzwischen nimmt sich HA 4,22GB.
Ist das alles im Rahmen? Wie sieht es bei euch aus?
Älteres Thema aber so muss man kein neues erstellen😬
Kann man bei Proxmox etwas falsch einstellen?
Mir ist aufgefallen das die RAM Auslastung bei mir gefühlt sehr hoch ist.
8gb sind verfügbar.
Ca. 1 GB benötigt Proxmox wenn alles aus ist.
HA habe ich 6 GB zugewiesen zur Sicherheit benötigt ca 1,2GB
OMV benötigt 300mb.
Trotzdem werden dauerhaft immer knappe 6 GB laut Proxmox gesamt an RAM beansprucht?
Da würde ich mir keine Sorgen machen. Linux verwaltet den RAM ein wenig anders.
Ganz grob wird erstmal RAM belegt was zu Verfügung steht. Bei Bedarf wird dieser wieder freigegeben. Meine RAM Auslastung liegt auch immer und dauerhaft sehr hoch.
Das liegt an dem Verhalten der VMs, denen wird bei der Erstellung ja gesagt wie viel RAM sie sich nehmen dürfen, diese werden dann auch beim Starten der VM genommen und die VM gibt den Speicher auch nicht so leicht wieder her, weil ja ein eigenes Betriebssystem in der VM läuft, deswegen sieht Proxmox dann halt einen Verbrauch X, in Deinem Fall halt die 6 GB plus den anderen Verbrauchern.
Es gibt eine Einstellung Ballooning, die der VM einen unteren und einen oberen RAM Wert zugesteht und in diesem Bereich atmet dann die VM, gibt also auch zu viel genommenen RAM an Proxmox zurück.
Etwas anderes ist es, wenn man LXC nutzt, da dort Proxmox direkt die Speicherverwaltung übernimmt, bekommen LXC nur den wirklich benötigten Speicher zur Laufzeit, auch wenn, beim Erstellen, einem LXC 6 GB zugewiesen wurden, hat er den nur, wenn er ihn auch braucht, ansonsten verwaltet Proxmox den Speicher.
Aber @Osorkon hat das ja schon geschrieben, in 99 % der Fälle spielt das keine Rolle, der Linux Kernel verwaltet das schon ganz gut.
Wobei ich, meine persönliche Meinung, darauf achten würde, nicht ins Swappen zu kommen, wie bei @Osorkon zu sehen ist.
VG
Bernd
P.S.: hier noch der Auszug, aus der Dokumentation, weil man es gern überliest
Requirements for Linux VM
Modern Linux Kernels does include the Balloon drivers by default. It works out of the box, and you only need to set the VM to “Automatically allocate memory within this range”
Wenn man dann die HA VM einige Tage laufen lässt geht der RAM-Verbrauch lt. Proxmox (bei mir) immer in Richtung 90 %. Obwohl sich der RAM-Verbauch lt. der HA Sysinfo gar nicht erhöht hat, sprich die RAM-Auslastung ist lt. HA Sysinfo weiterhin bei um die 20 %.
Warum das bei einer HA VM so ist darüber kann ich auch nur spekulieren, aber ich habe hier auch noch andere Linux VM unter Proxmox am laufen und diese zeigen das Verhalten das der RAM-Verbrauch der VM im Laufe des Betriebes immer weiter ansteigt nicht. Bsp.: Diese Linux LM (NAS-Software) braucht im laufenden Betrieb z.B. nie mehr RAM - sofern sie nicht zusätzliche Aufgaben ausführt - sondern bleibt immer bei einer RAM-Auslastung von rund 20 %.
M.M.n. scheint das Thema RAM-Verbrauch bei einer HA VM eher eine “Besonderheit” im Zusammenspiel von Proxmox + HAOS + ggf. noch dem Guest Agent zu sein. Wobei ich natürlich nicht ausschließen kann das andere Linux VM unter Proxmox nicht ggf. das gleiche Verhalten zeigen. Meine paar sonst noch laufenden Linux VM zeigen das Verhalten eines immer weiter ansteigenden RAM-Verbrauches jedenfalls nicht.
Was das Thema Ballooning betrifft. Die Standardeinstellung bei dem einrichten einer VM ist ja eigentlich das der Memory und der Minimum memory Wert identisch sind und immer den kompl. zugewiesenen RAM enthalten. Das Ballooning ist auch standardmäßig aktiviert ist. Bei meiner HA VM sieht das also so aus:
Ich selber habe das zwar noch nicht durchgespielt, aber ich vermute das es keinen Unterschied bzgl. der RAM-Auslastung einer HA VM macht, ob man bei Ballooning den Minimum memory Wert jetzt - in meinem Beispiel - auf 6144 (MiB) oder z.B. auch nur auf z.B. 4000 (MiB) setzt. Die Auslastung des RAM wird im Laufe der Zeit bei der HA VM trotzdem weiter ansteigen, nur das dann halt bei 4000 (MiB), bzw. etwas weniger und ca. 90 %, Schluss sein dürfte. D.h. die HA VM “atmet” dann nicht in dem Bereich von 1 (Mib) bis 4000 (MiB), sondern krallt sich dann vermutlich im Laufe der Zeit trotzdem wieder rund 90 % von dem RAM.
Ich selber habe irgendwann aufgegeben das Verhalten von Proxmox und einer HA VM bzgl. dem RAM-Verbrauch, verstehen zu wollen und ich bin dazu übergegangen das einfach so laufen zu lassen. Ab und an werfe ich mal einen Blick auf die Systeminfo von HA und was mir da an RAM-Verbrauch angezeigt wird und die RAM-Anzeige von Proxmox interessiert mich gar nicht mehr. Erst falls es nach einem HAOS, HA Core oder Proxmox Update ggf. mal Probleme bzgl. dem RAM-Verbrauch geben sollte, was in den letzten Jahren ja durchaus schon das ein oder andere Mal vorgekommen ist, interessiert mich das Thema RAM-Verbrauch ggf. mal wieder und kurzfristig. Kurzfristig weil falls es sich um einen Bug bei/mit HA oder Proxmox handelt sollte wird dieser von den Entwicklern dann ja auch wieder gefixt.
Mein Fazit: Wie sich der RAM-Verbrauch bei Proxmox wann und warum so und nicht anders verhält, will ich inzwischen gar nicht mehr verstehen. Sofern es nicht ggf. irgendein Problem damit geben sollte. Wenn es keine Probleme geben sollte lasse ich das so laufen und gut ist.
Anm.: Ich wollte damit jetzt auch nicht (wieder) eine Diskussion über das RAM-Verhalten von Proxmox auslösen, sondern nur einfach mal meine Ansicht zu dem Thema posten. Wie gesagt ist für mich das Thema RAM-Verbrauch unter Proxmox erledigt.
und genau deswegen kann eine VM mit Linux nicht atmen
Da habe ich vielleicht etwas ungenau beschrieben, aber ich will daraus keine wissenschaftliche Abhandlung machen.
Beim Anlegen der VM und dem Zuweisen des Memory, wird beim Starten der VM dieser Wert in Proxmox als reserviert für VM X gekennzeichnet, damit dieser Bereich nicht durch andere Belegt wird, wenn dann das betreffende System startet und sagen wir mal es macht beim Starten etwas sehr Speicherintensives, das 99 % der 6 GB nutzt, dann ist genau dieser Speicher belegt, wenn dann das Ballooning nicht ein gerichtet ist, oder so wie bei Dir eingestellt ist, dann bleibt das auch so, Proxmox sieht den Speicher durch die VM belegt!
Obwohl nach dem ersten Prozess nur noch 1 GB genutzt wird, bleibt die Belegung/Reservierung bestehen, denn Proxmox kann da nichts wegnehmen, weil ja noch Daten der VM dort enthalten sein können, die die VM braucht.
Was aber (bei mir) eben nur bei einer HA VM der Fall ist und nicht bei anderen Linux VMs. Bei anderen Linux VM geht der RAM-Verbrauch, lt. der Proxmox Anzeige, dann auch wieder zurück, sofern die Ausführung etwas sehr Speicherintensiven beendet wurde. Auch bei einer HA VM bleibt (bei mir) der RAM-Verbrauch nicht immer bei 90 % oder so, sondern geht dann auch durchaus mal wieder um x % herunter.
Edit: Was man ja auch bei der Memory Usage Ansicht sehr gut sehen kann, sprich das der RAM-Verbrauch im Betrieb durchaus variabel ist, RAM auch wieder freigegeben wird und somit sich die RAM-Nutzung im laufenden Betrieb auch wieder verringert.
Die Ballooning-Einstellungen waren und sind dabei schon immer gleich, sprich der Memory und der Minimum memory Wert sind identisch.
Ich weiß natürlich was Du meinst, aber das deckt sich halt nicht mit dem Verhalten was ich hier bei meinen VMs sehen kann. Sprich Proxmox gibt bei mir sehr wohl auch RAM bei VMs wieder frei.
Da Du ja auch schon länger Proxmox nutzt weißt Du ja das das Thema RAM und Ballooning im Proxmox Forum auch immer mal wieder ein Thema war und ist und das es da im Laufe der Jahre a) mal den ein oder anderen Bug gab und b) auch die ein oder andere Änderung gegeben hat. D.h. selbst die Erklärung in der Proxmox Doku dazu traf oder trifft nicht immer genau so zu wie es darin erklärt wird.
Aber wie schon gesagt will ich hier ja auch gar nicht über das Thema diskutieren, eben weil ich es aufgegeben habe das unterschiedliche Verhalten von Proxmox da verstehen zu wollen. Für mich ist das Thema RAM-Verbrauch unter Proxmox erledigt und abgeschlossen und im Fall von @Heizungsbauer würde ich mir an seiner Stelle darüber auch keine weiteren Gedanken machen. Ich würde mir an seiner Stelle ggf. nur noch etwas mehr RAM für die Kiste gönnen, weil 8 GB RAM für Proxmox + HA VM + OVM VM zwar (gerade) noch ok wären, aber irgendwann schon ein wenig knapp werden könnten.
Bei mir sehen die RAM-Größen für diese drei Dinge z.B. so aus:
4 GB RAM für Proxmox
6 GB RAM für die HA VM (ja 4GB würden natürlich auch reichen)
4 GB RAM für die OVM VM
Ja das sind natürlich nicht die ggf. geringst möglichen RAM-Werte und auch eine OVM VM braucht nicht unbedingt 4 GB RAM, aber immer “auf Kante zu fahren” kommt für mich halt nicht in Frage, weil bei meiner Kiste auch genug RAM zur Verfügung steht.
Danke @dp20eic und @Jim_OS .
Habe mir eure Beiträge mal durchgelesen und grob soweit verstanden.
Den Wiki Eintrag zum Thema Ballooning muss ich mir noch etwas genauer Durchlesen aber aus euren Post habe ich es so verstanden, dass ohne Ballooning die VM schaut wieviel RAM ihr zugewiesen ist und sobald diese wenn auch nur kurzzeitig z.B. bei Start der VM verwendet wird, sichert Proxmox diese fest der entsprechenden VM zu.
Wenn Ballooning aber aktiviert ist gebe ich ihr eine Range “Von - Bis” in welcher Sie arbeitet und ungenutzten RAM wieder für Proxmox zu Verteilung freigibt richtig?
Standard ist ja das der Min-Wert immer dem zugewiesenen Max-Wert entsprechend ist.
Welche Auswirkungen hätte ich wenn ich übertrieben gesagt den Min-Wert von meinem HA (6GB zugewiesen) auf 1GB setzen würde?
Theoretisch wie von @Jim_OS geschrieben wäre es mir eigentlich auch egal ich dachte eigentlich dabei eher an die Effizienz von meiner Hardware, da ein dauerhafter hoher RAM für mich sich nach konstanter hoher Arbeitslast angehört hat und ich möchte ja nicht das die Rechenarbeit/ der Stromverbrauch höher ist wie er sein muss nur weil Proxmox dauerhaft etwas macht das er nicht machen muss.
Aufstocken von RAM ist Hardware bedingt leider nicht mehr möglich, da ich aber keine Großprojekte damit betreibe ist die Leistung aktuell ausreichend und falls diese nicht mehr passt kommt eben etwas leistungsstärkeres her.
Nur für mich in der Theorie: Ist es möglich den RAM zu überbelegen?
Sprich ich habe 8GB
VM 1: 4GB, VM 2: 4GB, VM 3: 4GB.
Alle brauchen eigentlich nur 1GB im Schnitt und haben jeweils 3GB Reserve, sprich solange nicht alle gleichzeitig gas geben funktioniert es obwohl ich 12GB zugewiesen habe und nur 8GB wirklich hätte?
Oder blockt mich Proxmox schon davor ab?
Nein ob Du HA z.B. nun 4 oder ggf. 6GB RAM zuweist spielt bzgl. dem Stromverbrauch keine Rolle. Falls das RAM nicht mehr ausreichen sollte käme das swappen ins Spiel - was man möglichst vermeiden sollte - aber auch das wirkt sich bei solchen Kisten nicht groß auf deren Stromverbrauch aus.
Wenn Du den Stromverbrauch reduzieren wolltest befasst Dich mal mit dem Thema CPU Governor. Das nutze ich hier bei meiner Kiste auch. Dann geht zwar die CPU-Belastung in die Höhe, aber dafür wird der Stromverbrauch dann geringer. Auch wenn sich das ggf. etwas widersprüchlich anhört.
Du kannst den VMs auch durchaus mehr RAM zuweisen als tatsächlich in Summe zur Verfügung steht, aber dann würde ggf. wieder ein swappen ins Spiel kommen - sprich das Teile vom RAM auf die HDD/SSD ausgelagert werden und das sollte man - wie bereits erwähnt - möglichst vermeiden.
Edit: Wenn Dir nur max. 8 GB RAM zur Verfügung stehen würde ich diesen bei Dir so aufteilen:
HA VM = 4 GB RAM
Proxmox = 2 oder 4 GB RAM
OMV VM = 2 oder 4 GB RAM (je nachdem was Du mit OMV so alles anstellst)
Eine überprovisionierung des RAM, solltest Du vermeiden. Außer die VM‘s laufen nicht alle gleichzeitig.
8 GB RAM ist aber schon sehr grenzwertig. Mindestanforderung für Proxmox sind schon alleine 2 GB RAM.
Für Proxmox würde ich mindeste 16 besser noch 32 GB RAM empfehlen.
ist immer aktiv, Standardeinstellung Seiten Proxmox, ist soweit korrekt.
Ja, ist so im Standard eingestellt.
Das würde bedeuten, das Du ständig bei Proxmox Anfragen hättest, gebe Dir Speiche, ich brauche Speicher, das ist eher nicht, das was man will
Es gibt hier keine, ich habe die beste Strategie, das ist etwas, das man sich selbst erarbeiten muss, wie @Jim_OS ja schon geschrieben hatte, unterscheidet sich der angezeigte Verbrauch, von HA bereitgestellt und dem, was in Proxmox angezeigt wird, also könnte man vielleicht über eine gewisse Zeit den Speicherverbrauch aus HA und den Angezeigten aus HA sammeln und vergleichen, dann findet man da sicherlich das Minimum und das Maximum.
Wenn man dann aber Änderungen an HA vornimmt, z. B. weitere Integrationen, Add-ons usw. einrichtet, dann muss man wieder schauen, ob das noch zusammenpasst.
Nein, ineffizient ist es, wenn die CPU oder der Disk I/O immer am Limit wären, denn
wird sich nicht erhöhen, mit dem Einschalten des PCs, wird aller Speicher elektrisch angebunden, durch die 100 % Auslastung / Nutzung, verbrauchst Du keinen Strom mehr, es ist eher anders, wenn Du 1 TB Memory hättest, und den nicht nutzt, sondern nur 1 GB, dann verschwendest Du Strom
Dem kann ich nicht folgen
Jeder PC lässt sich aufrüsten, meine Mini-PCs waren auch nur mir 16 GB ausgestattet, jetzt halt mit 64 GB!
in diesem Fall behaupte ich mal, Du hättest HAOS auch direkt auf die Kiste installieren können, ohne die zusätzliche Virtuallisierung.
Über Provisionierung ist möglich, aber bei VMs eher nicht anzuraten, wenn Du LXC nutzt, dann weiß Proxmox, was, wie, wo los ist, aber in einer VM eben nicht, wenn dann die VM auch nicht sauber mit Proxmox kommuniziert, dann kann es schnell zu einem Crash kommen.
Ich sehe gerade, das ist eine Glaubensfrage, deswegen bin ich da nicht der richtige, was die Aufteilung angeht, ich halte mich dann dabei lieber raus
Eine Glaubenfrage in dem Fall eigentlich nicht, weil @Heizungsbauer mit nur 8 GB RAM nicht wirklich viele Möglichkeiten hat wie er den RAM aufteilen kann.
Dann übernehme ich noch einen Part den Du auch durchaus vorschlagen könntest und sonst ja auch vorschlägst, weil Du die Variante ja nutzt und damit Deine Erfahrungswerte gesammelt hast. @Heizungsbauer könnte natürlich auch noch - weil er ja Proxmox nutzt - die Docker Variante von HA nutzen und dann alles was er ggf. so an Addons unter HA nutzt in LXC auslagern. Das könnte in Summe ggf. noch RAM einsparen, aber a) ob und was das ggf. an RAM einspart davon habe ich keine Ahnung und b) ob das für ihn eine denkbarer Ansatz wäre und LXC für ihn überhaupt in Frage kommen, kann ich nicht beurteilen.
Wenn er bei einer HA VM bleiben will hatte ich ja geschrieben wie ich die vorhandenen 8 GB RAM aufteilen würde. Und für Proxmox + HA VM + OMV VM sehe ich da auch nicht unbedingt Probleme auf ihn zukommen. Aber das hängt natürlich auch davon ab was er mit HA und OMV so anstellt. Wenn die HA VM z.B. nur 4 GB RAM hat würde ich darunter sicherlich nicht irgendwelche RAM-hungrigen Addons wie z.B. irgendwelche Kamera oder Media Dinge installieren. Aber das sind eben auch alles Sachen die sich dann auch erst im praktischen Betrieb ergeben, oder halt ergeben können.
War ich auch der Überzeugung da mir das auch in den Sinn kam aber laut Intel soll der Prozessor mit mehr wie 8 Gig ram nicht klarkommen🤐 hier scheiden sich die Geister zwar online etwas aber das Gerät war eine absolute Budgetlösung für den Start und bevor ich hier teste wäre wie geschrieben der nächste Step gleich eine deutlich flottere Leistungsvariante.
Obwohl ich wenn ich nach Auslastung der CPU gehe aktuell noch keine Probleme erkennen konnte, die läuft mit gemütlichen 22% im Normalbetrieb wenn alles an ist.
So war der Urzustand. Promox kam erst vor kurzem ins Spiel als ich ich maximal unzufrieden mit meiner Fritzbox Nas Einbindung war und eine alternative her musste.
@Jim_OS ja alles in lxc auslagern habe ich gehört und kam mir auch schon in den Sinn aber aktuell steht mir da noch mein beschränktes Wissen was das angeht im Weg…
Bin ja noch sehr neu in Promox unterwegs.
Kommt aber noch, da ich noch das ein oder andere vorhabe
Was ich in dem letzten 3/4 Jahr an technischem Wissen mir durch HA wieder angeeignet habe gibt mir langsam das Gefühl wieder in der aktuellen Zeit angekommen zu sein.
13 Jahre in denen das höchste der Gefühle das Einrichten von Smartphones war gehen halt doch nicht spurlos an einem vorbei
Um was für eine Kiste geht es dabei denn überhaupt? Hersteller und genaue Modellbezeichnung?
Klar bei irgendwelchen ganz alten Kisten kann bei max. 8 GB RAM natürlich durchaus schon Schluss sein, aber das die max. RAM-Angaben von Intel zu den unterschiedlichen CPU Modellen nicht das Ende der Fahnenstange sein müssen weißt Du ja selber, eben weil Du ja auch das
bereits gepostet hast und Dich darüber somit wohl schon weiter infomiert hast.
Alles, was da dann dazu kommt, ist eine Belastung des Speichers.
Ob Du mit LXC besser bedient bist
Es ist einfach nicht die passende Hardware = Ressourcen für Proxmox als Virtualisierungsschicht, meine Meinung nach fängt es an Interessant zu werden mit mindestens 16 GB, nach oben keine Grenze.
das dann auf der gleichen Maschine zu betreiben
Ist auch nicht mein Stil, weil wenn die SSD abraucht ist alles weg, nicht nur HA, sondern auch OMV und die Daten. Bei mir laufen noch zwei NAS Systeme von Synology, gibt heute bessere, aber sie tun ihren Dienst ohne Murren, das eine wird nur eingeschaltet, wenn ich ein Backup vom anderen anfertige, ansonsten ist das ausgeschaltet, da auf dem NAS auch nichts weiter läuft, außer alle Daten aufzunehmen, sind da die Platten meist auch inaktiv.
Oder eben, die Kiste als OMV betreiben und dann HA dort installieren, aber wie ich mich drehe und wende, in meinen Augen passt das nicht, das ist für mich eine reine Kiste, nur für HAOS.