Hohe SWAP Auslastung

Mar 13, 2025
10
0
1
Hallo Zusammen,

habe eben festgestellt, dass der Swap ziemlich ausgelastet ist.
Habe eigentlich mehr als genug RAM installiert und trotzdem ist die Auslastung ziemlich hoch.
Hab 192 GB RAM in der Mühle und es laufen nur 2 VM's auf der Node.
Die erste VM hat 96 GB die zweite 64 GB....
Ist das problematisch? Kann ich was dagegen tun?
Version wäre 9.1.4 ...
Danke für eure Hilfe.

Grüße
Thorsten
 

Attachments

  • Proxmox.png
    Proxmox.png
    29.4 KB · Views: 20
Habe eigentlich mehr als genug RAM installiert und trotzdem ist die Auslastung ziemlich hoch.
Wo siehst du da einen Zusammenhang? SWAP Auslastung ist nicht davon abhängig, wie viel RAM du frei hast.
Ist das problematisch?
Kommt drauf an. Liegt der SWAP auf ZFS oder ext4?
Kann ich was dagegen tun?
SWAP deaktivieren. Dies verhindert SWAP ;)

Und nicht vergessen: emtpy RAM == wasted RAM
 
Last edited:
Der "übliche Verdächtige" ist natürlich der ZFS ARC. Der belegte "früher" per Default bis zu 50% des RAM. Und da der ARC zwar schrumpfen kann, dies aber nur sehr langsam funktioniert, kam es dann gelegentlich zu Engpässen. Der aktuelle Default ist wesentlich kleiner - und man kann das natürlich nachträglich justieren: https://pve.proxmox.com/wiki/ZFS_on_Linux#sysadmin_zfs_limit_memory_usage
 
Hi,

danke für die Antworten.
Ich denke mal, dass der auf ZFS liegt. Bin mir selbst nicht so sicher, hab einfach ne "Standard-Installation" gemacht.
Wo kann ich denn den Swap deaktivieren?
Sorry für die doofen Fragen, bin aber nicht so der Proxmox Crack.

Danke.

Thorsten
 
Wo kann ich denn den Swap deaktivieren?
Setze "swappiness" auf Null. https://pve.proxmox.com/wiki/ZFS_on_Linux#zfs_swap - auf derselben Seite wie bereits oben verlinkt.

Allerdings würde ich das nicht machen, sondern eine kleine Menge präsent lassen. Das basiert lediglich auf meiner persönlichen Wahrnehmung.

Ärgerlicherweise kann ich das nicht gut begründen. SWAP ist ein überraschend komplexes Thema und ich kenne aktuelle Darstellungen von "abschalten!" bis "essentiell!". Insbesondere hat mir ein Kollege dargelegt, dass gerade bei System mit viel RAM Situationen auftreten können, die mit Swap entschärft würden. Ich habe die Erklärung allerdings nicht verstanden... :-(

Ich deklariere diesen (meinen) Text mal selber als FUD (fear-uncertainty-doubt), weil ich keine "harte" Aussage treffen kann. Es gibt Klärungsbedarf...
 
Ich werde es versuchen.... und berichten.
Seit einiger Zeit ist der Windows 2019 Terminalserver auf dem System ziemlich langsam. Ich denke, dass das auch mit ein Grund dafür ist.

Vielen Dank für die konstruktiven Antworten.
 
Ich denke mal, dass der auf ZFS liegt. Bin mir selbst nicht so sicher, hab einfach ne "Standard-Installation" gemacht.
Kommt darauf an, was du unter Standard verstehst.

Hast du beim Installer einfach immer auf weiter geklickt? Hast du eine boot SSD auf der du Proxmox mit ext4 installiert hast und dann hast du mit zwei weiteren SSDs einen ZFS mirror erstellt? Dann wäre SWAP nicht auf ZFS sonder, auf der boot.

Hast du hingegen ein ZFS mirror als boot, dann wäre SWAP per default ausgeschaltet.

Ich sehe hier darum kein Problem. Jedenfalls nicht wenn meine Vermutungen zutreffen. Du hast SWAP auf ext4, der SWAP ist eher klein mit 8GB für 190GB RAM, er ist voll.
Der "übliche Verdächtige" ist natürlich der ZFS ARC. Der belegte "früher" per Default bis zu 50% des RAM.
Das wäre dann aber im RAM und nicht im SWAP zu sehen. Seiner RAM Nutzung nach, vermute ich eine 16 ARC Limite.
OP, post doch mal
cat /sys/module/zfs/parameters/zfs_arc_max
 
Hi,

da kommt einfach nur ne 0...

Und ja.... ich habe 2 RAIDs.... das erste Boot und System RAID und nen Daten RAID mit ZFS Mirror....
In dem Fall wäre SWAP auf der Boot....

Grüße
Thorsten
 
Last edited:
Um zu sehen was du als SWAP benutzt prüfe mal free -h und grep -i "swap" /etc/fstab. Üblicherweise ist das ein 4-8GB großes LVM LV.
Um zu sehen wer/was den SWAP benutzt schau mal hier.
Swappen muss nichts schlimmes sein. Ich nutze und empfehle zB. ZRAM. Wenn du swapping limitieren möchtest kannst du die swappiness verringern.
Da dein KSM sharing sehr hoch ist und KSM normalerweise erst bei 80% greift, zeigt dass, dass du schon viel höhere Auslastung hattest. Mehr Grund für SWAP aktiv zu werden. SWAP ist tatsächlich sehr kontrovers und kompliziert und ich bin nicht der Meinung, dass ist es zu 100% verstehe.
 
Last edited:
Ich kopiere mal meine Antwort aus einen anderen Thread hier rein ;)

Swap will man schon haben, wobei das aber kein physikalischer SWAP sein muss, siehe folgenden Artikel eines Kernel-Entwicklers:
https://chrisdown.name/2018/01/02/in-defence-of-swap.html
Swap auf zfs ist problematisch, darum wird bei der PVE-Installation keiner angelegt, wenn man zfs für die Systemplatte auswählt:

https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#zfs_swap

Man könnte dafür aber natürlich eine eigene Partition vorsehen.

Ich mache das nicht, stattdessen haben Host und vms bei mir zram swap:
https://pve.proxmox.com/wiki/Zram

Damit nutze ich Teile des Arbeitsspeichers als komprimierte RAM-Disk für swap, habe also ( für eine etwas höhere CPU-Auslastung) Teile des RAM komprimiert. Ubd gleichzeitig swap, damit das Memorymanagement ( siehe Chris Downs Artikel ) was zum Arbeiten hat.

Tldnr: Belegter Swap ist unproblematisch, problematisch ist zuviel ungenutzter oder nicht genug verfügbarer Arbeitsspeicher
 
Last edited:
Sorry.... Also ich bin jetzt doch etwas verwirrt.... würde hier nun jemand SWAP deaktivieren.... oder eher nicht. Wie gesagt: 192 GB gesamt, 96 GB die eine VM, 64 GB die andere VM .... d.h. 32 GB wären noch übrig..... was wäre nun Best Practice? SWAP deaktivieren? ZRAM SWAP?
Ich suche eben in alle Richtungen, warum dieser eine Server eben ziemlich langsam geworden ist. Meine Vermutung ist der zu 100 % ausgelastete SWAP.... oder eher nicht?

Danke schonmal

THorsten
 
Ich würde wie oben erwähnt ZRAM einrichten und bei Bedarf swappiness anpassen. Du kannst deine Theorie ganz einfach testen indem du den SWAP mit swapoff -a deaktivierst. Alles weitere ist bereits verlinkt und gesagt.
 
Last edited:
  • Like
Reactions: beisser and UdoB
Ich suche eben in alle Richtungen, warum dieser eine Server eben ziemlich langsam geworden ist. Meine Vermutung ist der zu 100 % ausgelastete SWAP.... oder eher nicht?
Eher nicht. 100% ausgelasteter SWAP auf PVE sorgt eventuell für einen höhere RAM Nutzung, nicht für ein langsames System.
Hingegen könnte ein 100% ausgelasteter RAM in der VM für eine langsame VM sorgen, weil auf SWAP ausgelagert werden muss.

Ohne genauen angeben deines System, deines Problems (was ist genau langsam) stochern wir hier aber im Dunkeln.
 
  • Like
Reactions: Johannes S and UdoB
So. Jetzt ich nochmal. Also weder Swapoff -a noch sonstwas hat in irgendeiner Art was gebracht und ich bin komplett Ideenlos.
Welche Angaben bräuchtet ihr denn um mir hier weiterzuhelfen?
Der Terminalserver laggt brutal. Vor nem halben Jahr als ich das alles aufgesetzt habe, lief das wie geschnitten Brot. Da war es allerdings auch noch die Version 8.x.x .... bin jetzt auf der aktuellsten.
Leider bin ich nicht sehr Linux- und Proxmox-versiert.

Bin für jede Hilfe dankbar.

Grüße
Thorsten
 
Hey,

also Basics. Hardware sieht man ja schon oben im Screenshot, hänge ich aber nochmal an:
1768479218588.png

Storage:
1768479272840.png
Das ganze läuft komplett auf SSDs.

Auf dem Server laufen 2 VM's.

Die Konfig der ersten:
1768479369295.png

Die Konfig des Terminalservers:
1768479391814.png

Der Terminalserver selbst ist nen Windows 2019 Server.

Brauchst du sonst noch irgendwas?

Grüße
Thorsten
 
Hardware?
SSD Hersteller?

Die VM nutzt also eine disk auf maindata.
Maindata ist ZFS.
Wie ist das ZFS gemacht?
Mirror?
RAIDZ?
Vermute mal den default 16k volblocksize?
Warum hat die VM writeback?
Falls maindata SSD ist, warum kein SSD emulation, warum kein discard?
Guest Agent läuft?
Warum wurde LSI53... anstelle von VirtIO SCSI single verwendet?

Ganz generell, warum wurden die best practices ignoriert?
https://pve.proxmox.com/wiki/Windows_2019_guest_best_practices

Was läuft auf dieser VM?
Warum hat die 300GB storage?

Wenn ich aber wetten müsste, würde ich auf CPU type host tippen. Bin mir nicht sicher ob Windows 2019 schon all die sandbox und Kernelisolierungs usw. schon hat. Das macht dann Ärger, weil Windows nicht checkt, dass es eine VM ist. Bei X86-64-v2-AES ist Windows klar, es ist eine VM und keine echte Maschine.
Würde mal die VM runterfahren, ZFS Snapshot machen, CPU type auf X86-64-v2-AES stellen, booten und schauen ob das Problem verschwunden ist.
Falls es nicht klappt kannst du einfach zurückrollen (vorausgesetzt da hängt nix kompliziertes wie Windows AD drin).
Einige berichten aber auch es brauche ein komplette Neuinstallation von Windows. Bei meinen Windows 11 VMs hat das ändern von CPU Type aber schon gereicht.
 
Last edited:
  • Like
Reactions: Johannes S