RAM wird nicht freigegeben (stuck)

FischBrei

New Member
Apr 19, 2018
7
0
1
36
Hi,

mein Host Server (pve) hat einen Mirror-1 ZFS Pool mit diversen Datasets. Diese Datasets werden via NFS mit einer VM geteilt. Diese VM betreibt unter Anderem einen SMB Server, der die ZFS/NFS Shares weiter per SMB im Netzwerk anbietet.

Sobald das Netzwerk etwas mehr belastet wird (z.B. 20GB Transfer) steigt der Arbeitsspeicherverbrauch auf ~95% und sinkt nicht mehr. Auch nicht, nachdem die Netzwerkübertragungen beendet sind.

Der Host zeigt folgende Fehlermeldung auf der Console an:
Code:
unregister_netdevice: waiting for lo to become free. Usage count = 1

Das Abschalten aller VMs und Container gibt die Ressourcen nicht bzw nur teilweise wieder frei. Erst nach einem Neustart des Hosts ist die Auslastung des Arbeitsspeichers wieder bei seinen normalen 10-15%.

Die VM die den Samba Server betreibt ist selbst auch bei 95% RAM Auslastung und erholt sich davon nicht mehr. Erst wenn die VM Neugestartet wird, ist die Auslastung des Arbeitsspeichers der VM wieder im normalen Bereich. Der Host hingegen nicht.

Wenn ich einen Container starte, der einen Media Streaming Server installiert hat, der den Inhalt via SMB von der VM indexiert und bereit stellt, bricht das total Chaos aus. VM RAM Auslastung bei ~95%, Container bei 95% und Host 95% und nur ein neustart des Hosts bringt wieder Ruhe ein.

Hat jemand eine Idee, woran das liegt?

Host: Proxmox (latest Version)
VM: Ubuntu Server 16.04 mit Samba. Shares via NFS vom Host eingebunden
Container: Ubuntu 16.04, mounted SMB Shares von VM


VG
 
Last edited:
wie viel ram haben der host und die container/vms?
was sagt vorher/währenddessen/nachher 'free -m' am host/im container/in der vm?
 
Der Host hat 12GB RAM. Die VM hat 8GB

Das Problem mit dem Container habe ich gelöst, in dem das Share, das dort mit Media Daten benötigt wird via Mountpoint einbinde.

Aber es bleibt das Problem, dass sich der Arbeitsspeicher nicht auf dem Host erholt wenn ich mit z.B. meinem Windows Client auf die Shares Zugreife und ein bisschen Traffic verursache.

Folgenden die Bilder vom Host und der VM mit dem Samba Server vor dem Transfer, währenddessen und 5min danach:

VM:
VM.png


Host:
Host.png


Zuvor hatte ich einen Ubuntu Server mit LXC Container auf dem Host betrieben ohne das diese Problem auftraten. Ich bin vor einer Woche auf PVE umgestiegen, da es die Bedienung doch erleichtert.

Liegt das Problem am Host -> VM Share via NFS oder am Samba Share zu dem Client oder an den Treibern/Einstellungen der VM bzw. pve?


Host Prozess NACH dem Transfer:
htop.png


Weitere Infos:
Die VM läuft normal immer mit rund 300-400MB Arbeitsspeicher.
Ich habe einen Container mit einem Samba Server (anstatt der VM) aufgesetzt und per Mountpoints die Daten vom Host eingebunden. Wenn ich nun Traffic erzeuge (Daten von dem CT zu einem X-beliebigen Client kopiere), bleibt der CT bei rund 30MB RAM und auch der Host steigt nicht wesentlich an!

Neue VM aufgesetzt, nur Samba Server installiert, per NFS die Shares vom Host eingebunden und ein Verzeichnis freigegeben. Ein paar GB kopiert, Arbeitsspeicherauslastung direkt auf 95% und erholt sich nicht mehr.
 
Last edited:
Neue VM aufgesetzt, nur Samba Server installiert, per NFS die Shares vom Host eingebunden und ein Verzeichnis freigegeben. Ein paar GB kopiert, Arbeitsspeicherauslastung direkt auf 95% und erholt sich nicht mehr.
da würde ich mal behaupten dass die vm einfach den speicher nicht mehr freigibt, ist aber nichts was wir von außen beeinflussen können.

bitte auch beachten dass zfs in der default einstellung bis zu 50% des rams belegt
siehe https://pve.proxmox.com/wiki/ZFS_on_Linux#_limit_zfs_memory_usage
 
Hm ich untersuche das ganze nochmal woher das Phänomen auftritt, aber schon mal danke für den Hinweis.

Ist es bei meinem "kleinen" Setup eher ratsam mdadm zu nutzen? Zurzeit habe ich auf dem Host ein zfs Pool erstellt (Mirror-1) und share die Daten, wie weiterr oben erwähnt, via NFS bzw Mountpoints mit den Guests (VM/CT).

Mein Host ist ein alter HP Gen8 mit 12GB Ram und 2 x 3 TB HDD für Storage. Dient lediglich dem Heimbedarf und Storage.
 
Last edited:
Ist es bei meinem "kleinen" Setup eher ratsam mdadm zu nutzen? Zurzeit habe ich auf dem Host ein zfs Pool erstellt (Mirror-1) und share die Daten, wie weiterr oben erwähnt, via NFS bzw Mountpoints mit den Guests (VM/CT).
prinzipiell möglich aber mdraid wird von uns nicht unterstützt (dh man ist auf sich allein gestellt wenns probleme gibt)

Mein Host ist ein alter HP Gen8 mit 12GB Ram und 2 x 3 TB HDD für Storage. Dient lediglich dem Heimbedarf und Storage.
dann würde ich mir das mit zfs entweder überlegen oder es auf 4gb limitieren und den vms insgesamt nicht mehr als 6 gb geben
 
Danke.

Ich habe es jetzt einfach mal wieder auf mdadm umgestellt. Und das Phänomen taucht weiterhin auf. Ich habe einen englisch Sprachigen Thread aufgemacht, hoffe das verletzt nicht die Foren regeln. In dem Post habe ich die Sache nochmal "genauer" untersucht.
 

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!