VM Ram von alleine verdoppelt

Lucar

Active Member
Oct 29, 2019
18
0
41
24
Hi,
ich hab eine VM mit 16GB RAM. In Proxmox steht aktuell auch 11GB von 16GB belegt... Prüfe ich auf der VM zeigt er seit neustem 30GB und nur 5GB benutzt und im Cache 660MB vorher waren es immer so 10GB im Cache und auch so 5GB in Nutzung und insgesamt 16GB keine 30GB!

Wie kann das sein es wurde nicht verändert und plötzlich sagt die VM das sie 30GB RAM hat und Proxmox sagt die gleichen Werte wie vorher. Balloning ist deaktiviert. Es macht für mich wenig Sinn das so wenig jetzt im Cache ist und der RAM sich von alleine verdoppelt hat das hatte ich noch nie.
 
Teile bitte Bilder bzw. Ausgaben von dem was du siehst. Summary der VM und der Node sowie Hardware Tab der VM und free -h.
 
Würdet ihr Ballooning aktivieren oder deaktivieren und KSM erlauben oder auch deaktivieren?
 
Kommt darauf an, generell sollte man keine Wunder erwarten, weil man RAM nicht wirklich überprovosionieren kann, siehe hierzu folgenden Post von dunuin: https://forum.proxmox.com/threads/ramverbrauch-bleibt-konstant.107279/#post-461391
Bei VMs wo man ein PCIE-Gerät durchreicht wird außerdem eh immer der gesamte RAM reserviert, da hilft auch kein Balooning. Je nach Szenario kann das Balooning auch unerwünschte Nebenwirkungen haben, weil innerhalb einer VM plötzlich weniger RAM da ist und das VM-Betriebssystem deshalb ram-intensive Anwendungen abschießt.
Trotzdem würde ich das Balooning immer aktivieren (aber für Min- und Max den gleichen Wert angeben, um die Probleme zu umgehen), da sonst man in Proxmox_Dashboard nicht sehen kann, wieviel RAM gerade in der VM verbraucht wird.
KSM finde ich im Homelab sehr praktisch, aber auch das hilft ja nur da, wo man viele ähnliche VMs betreibt, da das ja identische RAM-Inhalte der VM zusammenpackt. Das kostet außerdem CPU-Zeit, was je nach Anwendung unerwünscht sein kann.

Es gibt außerdem Szenarien, wo man KSM für sogenannte side-channel-Angriffe ausnutzen kann. Im Homelab nehme ich das Risiko in Kauf, in einen professionellen Umfeld kann es je nach Szenario (bleibt alles in der gleichen Firma oder betreibt man voneinander getrennte VMs für verschiedene Kunden) unerwünscht oder sogar durch Compilance-Vorgaben verboten kann.
Generell sollte man sich den VMs nur soviel RAM zuweisen wie sie benötigen und auch mal die Doku lesen, um zu verstehen, wie das funktioniert und wo die Grenzen sind: https://pve.proxmox.com/wiki/Dynamic_Memory_Management

Danach dann entscheiden, wie man die Vor- und Nachteile bewertet und welche Konsequenz man daraus zieht.