Proxmox Ram läuft voll auf Ubuntu VM

derjeff05

New Member
Jan 19, 2024
6
0
1
Hallo,

ich habe auf einer Proxmox VE zwei Virtuelle Maschinen laufen, eine Debian 12 auf der Zoneminder läuft und ein Ubuntu auf dem ein Samba Share läuft.
Beide haben jeweils 8GiB Ram, der Zoneminder schreibt die Video aufnahmen über ein gemountetes Laufwerk auf den Samba Ubuntu Server, soweit klappt das und die Daten werden auch gespeichert, Problem ist nur, dass der RAM in der Ubuntu Maschine nicht mehr frei gegeben wird, nachdem dann 8GiB Video material aufgenommen worden ist, ist der Ram voll und wird auch nicht mehr befreit, dadurch stürzt die Maschine recht schnell ab und Zoneminder Weiß nicht mehr wo die Daten hin sollen schreibt den Ram auch voll und stürzt ab.


Genug Speicher auf dem File Share ist vorhanden über ein TiB ist frei und die Daten werden auf übertragen nur der Cach wird nicht freigegeben.
Ich bin echt ratlos und wäre für Hilfe dankbar, wenn ihr mehr Infos braucht gerne fragen.

LG und vielen Dank
derjeff05
 
Was sagt denn die Community oder der Entwickler von Zoneminder dazu? Es ist ja offensichtlich kein Proxmox VE Problem und daher auch hier das falsche Forum.
 
Warum sollte es ein Zoenminder Problem sein, da nicht der Ram von Zoneminder die Probleme macht, sondern von der Sanba Maschine (ubuntu) dass hat erstmal überhaupt nix mit zoneminder zutun
 
Auf was für ein Storage schreibt die Samba-VM? Das Gerät kann doch nicht sooo langsam sein, dass der RAM dadurch voll geschrieben wird.

Container/VMs deren Aufgabe das speichern per CIFS/NFS ist bekommen bei mir nie mehr als 1GB RAM. Weil sie es einfach nicht brauchen ...
 
Last edited:
Bitte entschuldige, ich habe etwas verwirrend geschrieben, aber du verstehst auf jeden fall was mein Problem ist, danke dafür schon mal.

Der Samba hat eine HDD 1,5TB, die daten werden auch alle schnell und ohne mühe vom RAM auf die Platte geschrieben und sind gespeichert, ich kann diese abrufen sie löschen oder verschieben.
Das Problem ist, obwohl die Daten die im RAM waren auf der Festplatte gespeichert sind, versteht das System nicht, dass er den Ram wieder freigeben kann, somit läuft der RAM voll obwohl die ganzen daten eigentlich schon längst auf der HDD gespeichert sind.

Ich hoffe man versteht was ich meine, wenn genauere Infos oder Screenshots gewünscht sind ist das kein Problem und ich bin offen für jeden Vorschlag.
 
Was sagt denn free -h in der Debian VM? Voller RAM wäre ja normal, wenn der RM dann für Caching benutzt werden würde und genug RAM "available" ist. Hast du mal am PVE Host ins Syslog geguckt, ob du da "oom" Messages findest? Nicht das dir da PVE einfach die Debian VM killt, weil du Overprovisioning beim RAM betreibst und deine Gäste einfach zu viel RAM durch Caching verbraten. Einmal benutzten RAM gibt PVE auch nicht ohne weiteres wieder frei. Dafür gibts dann ja Ballooning um den Cache wieder leer zu bekommen.
Summe des RAMs aller Gäste sollte ja unter "Host RAM - 2GB" bleiben. Und besser noch weniger, da ja jede VM ihren Overhead hat (würde ich immer grob mit 1GB mehr RAM pro VM rechnen als was du angegeben hast) und Writeback-Caching kann auch noch ordentlich RAM schlucken.
 
Last edited:
Ah ok, danke schonmal das sind viele Infos die ich vorher nicht wusste.
Ich sende gerne die Infos, sobald ich nochmal in meinem Netz bin dürfte gegen heute Abend der fall sein. Vielen dank schonmal und die angefragten Infos folgen meiner seist dann spätestens heute Abend.
:)
 
Hallo, ich habe dem Host nun wieder mehr RAM gelassen, und dachte anfangs auch, dass das geholfen hatte aber leider nicht.
Ich sende mal zwei Screenshots, einmal von free -h und einmal von der Auslastung die in Proxmox angezeigt wird.
 

Attachments

  • Screenshot 2024-01-19 235904.png
    Screenshot 2024-01-19 235904.png
    15.4 KB · Views: 18
  • Screenshot 2024-01-19 235909.png
    Screenshot 2024-01-19 235909.png
    17.7 KB · Views: 17
Ich sende mal zwei Screenshots, einmal von free -h und einmal von der Auslastung die in Proxmox angezeigt wird.
Sieht doch absolut OK aus. Linux weis schon, was es mit dem Speicher machen soll ...

So sehen die Werte zB. bei meinem "Datengrab" (externe 12TB USB-HDD) aus. Das meiste läuft dabei aber über NFS. Sollte aber keinen Unterschied machen.

Code:
free -h
              gesamt       benutzt     frei      gemns.  Puffer/Cache verfügbar
Speicher:      960Mi       321Mi        60Mi       2,4Mi       738Mi       639Mi
Swap:          1,0Gi       512Ki       1,0Gi
 

Attachments

  • hdd.png
    hdd.png
    21.1 KB · Views: 5
Last edited:
Installiere den qemu-guest-agent.
Gibt es im Log oom Killer einträge?
 
Hallo, also ich verstehe, dass der Ubuntu den Ram, quasi nur reserviert, Problem ist nur sobald ich aktiv daten rüber schicke, läuft der RAM voll in Proxmox laut Ubutnu ist alles gut, trotzdem wird die Maschine erst langsam und stürzt schlussendlich ab, obwohl der RAM nur reserviert und nicht uns use ist.

Außerdem ist das nächste Problem, dass dann meine Zoneminder Maschine denkt, dass der RAM von dem Ding voll ist und will die Daten nicht mehr übertragen, also läuft bei der dann auch der RAM voll.
 
Ich glaube du hast ein anderes Problem als der RAM. Ubuntu nimmt den RAM immer voll in Anspruch wenn du Daten schreibst, weil ist ja eh da und kann als Cache genutzt werden. Auch wenn der aktive Prozess das nicht belegt, macht das jedes Betriebssystem.
Nur weil der RAM volläuft, stürzt ein OS normalerweise nicht ab, wenn doch dann stehen eindeutige Events im Log.
Was sagt denn das Log von deinem Ubuntu?
Wenn der Zoneminder, den Verlust des Netzwerkspeichers nicht verkraftet, wäre das sehr schlecht programmiert. Ich vermute eher ein anderes Problem warum der Server mit runter gezogen wird.
Aber dazu müsstest du mal die Logs der VMs sichten. Aus Sicht des Hypervisors kannst du lange suchen. Da wirst du zu 99% nix finden.
 
Gib mal mehr Infos zur verwendeten Hardware. Plattform, Prozessor, RAM ...

Wenn du 2 VMs mit 8GiB RAM betreibst, muss der Host 20GiB haben.
Wie viele CPUs hast du zur Verfügung und wie sind sie den VMs zugeteilt.
Und nochmal die Frage: Wie ist die HDD/SSD an den SambaServer angebunden.

Die Probleme deuten eher auf einen überlasteten Host hin, oder auf einen "Flaschenhals" beim Speichermedium.
 
ich habe auf einer Proxmox VE zwei Virtuelle Maschinen laufen, eine Debian 12 auf der Zoneminder läuft und ein Ubuntu auf dem ein Samba Share läuft.
@derjeff05

Ich bin gerade mit Debian 12 und Samba über das gleiche Problem gestolpert. Der Server hatte anfangs 1 CPU und 1024MB RAM. Testweise hab ich den RAM mal auf 2GB hochgesetzt. Aber das half nichts. Die Anzeige in Proxmox läuft beim Kopieren von Daten auf den Server innerhalb 10-20s komplett voll. Ich denke, dass die Anzeige irreführend ist, weil der RAM auf dem Server gar nicht vollläuft.

Geholfen hat bei mir aber das Abschalten des Ballooning in den RAM Optionen. Die Screenshots sind jeweils nach dem Kopieren von 3x1,5GB Dateien auf den Server. Die ersten mit Ballooning=1, die letzten mit Ballooning=0.

Gruß Tom
 

Attachments

  • Screenshot 2024-02-06 090955.png
    Screenshot 2024-02-06 090955.png
    33.3 KB · Views: 8
  • Screenshot 2024-02-06 091419.png
    Screenshot 2024-02-06 091419.png
    11.5 KB · Views: 8
  • Screenshot 2024-02-06 091657.png
    Screenshot 2024-02-06 091657.png
    32.6 KB · Views: 6
  • Screenshot 2024-02-06 091727.png
    Screenshot 2024-02-06 091727.png
    12.2 KB · Views: 7
Last edited:
Die Anzeige in Proxmox läuft beim Kopieren von Daten auf den Server innerhalb 10-20s komplett voll. Ich denke, dass die Anzeige irreführend ist, weil der RAM auf dem Server gar nicht vollläuft.
Die Anzeigen in PVE zeigen das an, was die (Non-Windows) VM wirklich an RAM verbraucht und nicht was das GastOS der Meinung ist, was es verbrauchen müsste. ;)
Ist immer eine Frage des Standpunktes. Dein "free -h" sagt ja z.B. auch "90M frei" von "960M gesamt". Das heißt 870M von den 960M sind benutzt. Da ist PVE ja nicht falsch, wenn es dir eben das anzeigt und sagt die VM hat ihren RAM zu 90% benutzt. Das GastOS ist nur im Gegensatz zu PVE nicht bereit den für Caching benutzten RAM als benutzt anzusehen, weshalb es dir sagt du hättest gleichzeitig "709M verfügbar" obwohl ja nur "90M frei" sind. PVE ist es aber völlig egal was das GastOS meint was "verfügbar" ist oder was nicht. Alles was zählt ist ob da physischer RAM in Benutzung ist oder nicht. "verfügbar" ist der fürs Caching verbrauchte RAM ja nur für das GastOS selbst. Weder der PVE Host noch andere VMs/LXCs können den RAM benutzen, der von einer anderen VM für Caching benutzt wird. Sobald ein GastOS den RAM fürs Caching benutzt sehe den lieber als verbraucht an.
 
Last edited:
Ja ist schon seltsam das Ganze. Heute ist das Verhalten wie es sein soll: RAM Verbrauch vor dem Kopieren niedrig, beim und nach dem Kopieren geht die Anzeige bis weit in den orangen Bereich und nach kurzer Zeit (<1min) geht die Anzeige wieder in den "grünen" Bereich zurück.

Das war aber gestern nicht so. Da blieb die Anzeige bei 90% verbrauchten RAM stehen. Heute ist wieder alles ok. Der Server gibt auch den Cache frei so wie es sein soll. Eben das war aber gestern nicht so. Sehr seltsam.
 
Der Server gibt auch den Cache frei so wie es sein soll.
Ist eigentlich anders herum. Jedes GastOS wird, sofern möglich, alles an verfügbarem RAM fürs Caching verbraten und es auch so lange gecacht lassen, bis der RAM für was besseres benötigt wird. Ist daher nicht unüblich, dass da alle VMs permanent auf 90% oder ähnlich hängen, solange genug IO stattfindet.
 
Ich hab auch nichts anderes gesagt. Und wie schon erwähnt war das Verhalten am Dienstag nicht so.

Gestern konnte ich auf dem Samba-Server (Debian als VM, nur smb läuft) ja nachvollziehen, dass der Cache nach dem Kopieren wieder freigegeben wird. Damit passt sich die Anzeige in PVE auch korrekt an, indem der vorher ausgelastetet RAM wieder als verfügbar angezeigt wird.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!