[SOLVED] swap läuft nach jedem backup etwas mehr voll (bis 100%)

crt

New Member
Feb 4, 2022
9
0
1
38
hallo proxmoxforum!

ich betreibe in einem cluster zwei server bzw. nodes. version auf allen nodes 7.1-10

node1
hat einen windowsserver MIT einer 15gb großen SQL Datenbank,
eine windowsworkstation und
einen debian apache (turnkey image).
node1 hat 64gb ram (von dem ~50gb verteilt sind auf die VMs. zur zeit sind die VMs fast alle im idle.)
KEIN zfs

node2
hat nur einen proxmox backup server (auch als VM) und macht mir jede nacht ein backup von den maschinen auf node1.
node2 nutzt zfs (2x1000gb mirror), hat leider nur 8gb ram (davon 4gb für den PBS und 4gb zieht sich quasi ZFS). aber node2 hat ja auch gar keine swap file


Problem

leider ist die swap file von 8gb immer zu 50% voll (stört mich nicht wirklich), und mit jedem backup kommen ~2gb dazu. heute ist es wieder bei 98%.
Ram ist "leer", Swap randvoll

Lösungsversuche
wildes swapoff -a && swapon -a vor zwei tagen hat mir einen herzinfarkt beschert weil kurz das interface nicht erreichbar war, aber ansonsten hat es für 2 tage abhilfe geschaffen weil der swap dann "leer" war.

google suche von heute morgen findet auch einen ungelösten thread aus 2019: "Nach Backup läuft Swap voll"

Code:
root@pve:~# (echo "COMM PID SWAP"; for file in /proc/*/status ; do awk '/^Pid|VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | grep kB | grep -wv "0 kB" | sort -k 3 -n -r) | column -t
COMM             PID                SWAP   
kvm              2248254            3806780  kB
kvm              2205408            3289244  kB
kvm              1917               1348520  kB
pvedaemon        1617               102780   kB
task             UPID:pve:04110952  92028    kB
pvedaemon        worke3384707       91972    kB

*edit* Grad seh ich auch, dass vermutlich meine SQL Datenbank was mit dem swap-verhalten zu tun hat, von den 15gb wird quasi nichts verändert und deswegen ausgelagert? hatte dem server extra 16gb zugewiesen, damit eben nicht so viel auf den SSDs geschrieben wird (war zumindest mein plan. :))


ist mein swap vielleicht viel zu klein? je nach lektüre bekommt man den tip swap einfach ganz abzuschalten (ich glaube nicht, dass das die beste lösung ist wieso sollte sich sonst ein team von schlauen leuten die mühe machen das per interface anzuzeigen wenn man es nicht braucht?) oder bei 64gb auf 16-32gb einzustellen

oder ist vielleicht bei meinem proxmox backup server irgendwas falsch eingestellt, dass die backupjobs irgendwie die swap file auf meinem anderen node vollballern?
 
Last edited:
Hast du mal versucht die Swappiness zu senken? Eine Zeile wie vm.swappiness=0 in /etc/sysctl.conf sollte z.B. dafür sorgen, dass da echt nur RAM in den swap ausgelagert wird, wenn es nicht anders möglich wäre ein OOM zu verhindern.
 
Hast du mal versucht die Swappiness zu senken? Eine Zeile wie vm.swappiness=0 in /etc/sysctl.conf sollte z.B. dafür sorgen, dass da echt nur RAM in den swap ausgelagert wird, wenn es nicht anders möglich wäre ein OOM zu verhindern.

swappiness steht auf dem "best practice" standart von proxmox (60), hab ich noch nicht versucht

so von dem was ich bisher gelesen habe, ist das aber eigentlich keine "gute" lösung für das problem (aber ich hab auch erst ein halbes buch zum thema swap gelesen und immer wenn ich denke ich habs gecheckt kommen noch 20 themenbereiche mehr dazu :D)

*edit*

ich probiers aber natürlich trozdem mal mit sysctl vm.swappiness=0
 
Last edited:
Ist die Frage wofür du Swap haben willst. Willst du deinen RAM effektiver nutzen (mehr freier RAM) auf kosten deiner SSD-Haltbarkeit dann nehm eine recht hohe Swappiness. Willst du Swap nur damit dir der OOM Prozess Killer im Falle von ausgehendem RAM keine Prozesse killt, dann nehm eine möglichst niedrige Swappiness. Meine Server sollen nicht unnötig durchs Swappen verlangsamt werden (je weniger du den Swap benutzt, desto weniger muss von der lahmen SSD geladen werden und destro mehr wird vom schnellen RAM geladen) und ich will den Swap nur wegen OOM. Also habe ich die Swappiness auf 0. Swappiness auf 0 heißt übrigens nicht das der Swap komplett deaktiviert wäre. Er swappt nur möglichst wenig, also nur wenn es wirklich brenzlich wird. Die meist empfohlene Swappiness von 40-60 für Desktopsysteme ist eher ein Kompromiss aus RAM-Sparen und Leistungseinbuße/SSD-Abnutzung.
 
Last edited:
Ist die Frage wofür du Swap haben willst. Willst du deinen RAM effektiver nutzen (mehr freier RAM) auf kosten deiner SSD-Haltbarkeit dann nehm eine recht hohe Swappiness. Willst du Swap nur damit dir der OOM Prozess Killer im Falle von ausgehendem RAM keine Prozesse killt, dann nehm eine möglichst niedrige Swappiness. Meine Server sollen nicht unnötig durchs Swappen verlangsamt werden (je weniger du den Swap benutzt, desto weniger muss von der lahmen SSD geladen werden und destro mehr wird vom schnellen RAM geladen) und ich will den Swap nur wegen OOM. Also habe ich die Swappiness auf 0. Swappiness auf 0 heißt übrigens nicht das der Swap komplett deaktiviert wäre. Er swappt nur möglichst wenig, also nur wenn es wirklich brenzlich wird. Die meist empfohlene Swappiness von 40-60 für Desktopsysteme ist eher ein Kompromiss aus RAM-Sparen und Leistungseinbuße/SSD-Abnutzung.

ok, so versteh sogar ich es :)

das einzige was ich noch nicht so ganz verstehe ist warum die swap file überhaupt voll läuft, bzw nicht mehr "entladen" wird
 
Dafür ist der Swappiness-Wert da, um zu bestimmen, wie sehr man seinen Swap nutzen will. Hast du da einen höheren Wert wird dein Swap auch immer recht voll sein. Swap soll ja auch nicht unnötig "geladen"/"entladen" werden. Je öfter man das tun würde, desto mehr für sich die SSD abnutzen, also behält der Kernel gleich die Daten im Swap, außer er hat einen Grund diese zu überschreiben.
 
Dafür ist der Swappiness-Wert da, um zu bestimmen, wie sehr man seinen Swap nutzen will. Hast du da einen höheren Wert wird dein Swap auch immer recht voll sein. Swap soll ja auch nicht unnötig "geladen"/"entladen" werden. Je öfter man das tun würde, desto mehr für sich die SSD abnutzen, also behält der Kernel gleich die Daten im Swap, außer er hat einen Grund diese zu überschreiben.

das hatte ich nicht bedacht, klar. sonst wäre es ja auch schwachsinn.

hab jetzt gemäß https://blog.lbdg.me/proxmox-best-performance-disable-swappiness/ swappiness auf 0 gesetzt, bin grad beim "swapoff" und mach ihn dann gleich wieder an.


vielen dank schon mal, ich denke das problem ist damit erledigt, ansonsten änder ich den flair in zwei tagen zurück ;)
 

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!