SWAP in LXC deaktivieren

tomic

Member
Jul 6, 2013
44
1
6
Hallo Zusammen,

ich suche nach einer zuverlässigen Möglichkeit SWAP in den LXC-Containern zu deaktivieren.
Grund hierfür ist, dass ich ausreichend RAM habe und das OS auf SSD liegt, welche ich nicht mit SWAP-Daten belasten möchte. Da auch geswappt wird, wenn noch ausreichend freier Arbeitsspeicher vorhanden ist, möchte ich SWAP in den LXC-Containern ausschalten.

Meine bisherigen Versuche:

In der Datei etc/sysctl.conf
vm.swappiness = 0
keine Änderung

In den Ressourcen der CT SWAP auf 0 gestellt.
keine Änderung

Dass immer noch geswappt wird, sehe ich sowohl im angeschlossenen Munin als auch im Summary der CT:
SWAP usage - Infinity% (164.00 KiB of 0 B)
 
Das Paket zram-config von Ubuntu installieren, dass auf die gleichen Techniken des Kernels setzt und dann den eigenen Swap auf der Platte deaktivieren. So hast du swap der komprimiert im RAM liegt und bist dein Problem los, da du a) noch SWAP hast, b) kein Disk-Swap mehr hast.
 
Danke für die Antwort
Ich will SWAP grundsätzlich deaktivieren und nicht mit anderen Paketen darstellen. Gibt es keine Möglichkeit, SWAP seitens Host und CT "korrekt" zu deaktivieren?
 
Seitens des Hosts ist das kein Problem. Einfach kein Swap laden und prüfen ob mittels free auch wirklich kein Swap da ist. Wie der nun genau komplett entfernt wird hängt von der verwendeten Speicherarchitektur zusammen, jedoch ist ein auskommentieren der entsprechenden Einstellung in /etc/fstab schon zielführung. Manuell geht das mit swapoff -a. Da man dann aber wirklich keinen Swap hat ist fraglich ob man das möchte. Swap auf SSD ist auch nicht so tragisch, da swap dort auch TRIM kann (z.B. über discard=once). Ich hoffe, du hast hier keine Billig-Consumer-SSDs im Einsatz und daher Angst, dass es nicht langfristig stabil läuft.

Die Größe des swap-Bereichs pro Container wird aber beim anlegen/erstellen des Containers automatisch vergeben, auch wenn du ihn deaktiviert hast - Vgl. https://forum.proxmox.com/threads/lxc-container-with-unlimited-cpulimit-memory.28973/
Aktuell unbekannt ob das ein Bug ist oder nicht.
 
Danke für die Antwort.
Ich setze aktuell mittelklasse-Server-SSD's von Intel (3500 und 3700 Serie) mit relativ 100-120GB ein, da dort ausschließlich die Proxmox-Instanz drauf läuft. Das ganze als ZFS Raid1. Als Speicherpools nutze ich aktuell mehrere SATA HDD's (Seagate Constellation) als zfs raidz-1. Grundsätzlich bin ich einfach auch der Meinung, dass ein Swap nur dann sinnvoll ist, wenn der RAM voll ist - und bevor ich SSD's mit mehr Speicher oder so kaufe, sorge ich eher für mehr RAM.
Das ganze scheint doch recht buggy zu sein, da auch bei deaktiviertem SWAP z. B. apache2 oder auch der mysql-server das scheinbar nicht korrekt wahrnimmt und ständig da sein zu schreiben versucht - wodurch es zu verschiedensten Fehlern kommt. Ersichtlich wird das, wie bereits eingangs beschrieben, durch die Auswertung durch Munin.
 
Also das was du da berichtest verwirrt mich. Ich hab swap überall deaktiviert. Am Host selbst hab ich es auf 0 gestellt. Es wird nur geswappt wenn definitiv der Speicher voll ist. Hatte da kein Problem mit.
 
Das ganze scheint doch recht buggy zu sein, da auch bei deaktiviertem SWAP z. B. apache2 oder auch der mysql-server das scheinbar nicht korrekt wahrnimmt und ständig da sein zu schreiben versucht - wodurch es zu verschiedensten Fehlern kommt. Ersichtlich wird das, wie bereits eingangs beschrieben, durch die Auswertung durch Munin.

Hmm, swappen kann der Linux kernel schon seit Jahrzehnten und das macht er schon immer gut, daher ist das definitiv nicht "buggy". Meine Systeme swappen auch nicht - wie die von fireon und IMHO ist es unter Linux nicht möglich swap direkt anzusprechen. Wir sind hier nicht bei Windows, wo man eine Auslagerungsdatei benötigt. Ich betreibe seit Jahrzehnten Linux Systeme ohne swap und die meisten Linux-Installationen der Welt (alle Router, FritzBoxen und viele Android-Geräte) haben kein swap und laufen trotzdem prima. Daher sind das für mich definitiv die falschen Schlüsse, die du da aus deinem Problem ziehst.

Und ein ZFS-Pool auf 2 SSDs ausschließlich für Proxmox zu legen halte ich auch nicht für klug, zumal wenn es non-Consumer SSDs sind und die faktisch nichts tun. Totale Verschwendung - da würde ich die eher ein gespiegeltes SLOG (wenn es wirklich eine gute SSD ist - bitte prüfen unter http://www.sebastien-han.fr/blog/20...-if-your-ssd-is-suitable-as-a-journal-device/) auf je eine ca. 5 GB Partition legen und den Rest als L2ARC verwenden. ggf. könnte man da noch ca. 4 GB für Proxmox selbst abzwacken wenn man das OS auf die SSD legen will, aber dass die SSD total brach liegt ist pure Verschwendung - vor Allem wenn man mehrere SATA HDs einsetzt.
 
Die ursprüngliche Frage war ja auch, wie man den SWAP "richtig" deaktiviert, da alle meine bisherigen versauche darin enden, dass jeder LXC Container dennoch zu Swappen versucht. Ob 2 SSD für Proxmox Verschwendung sind ist sicher eine Glaubensfrage.
Bisher habe Proxmox out of the Box installiert und auch die LXC-Container nur über die bereitgestellten Templates installiert und stelle bisher bei "allen" Containern auf unterschiedlichen Hosts fest, dass zu Swappen versucht wird.

Ich habe mal 2 Screenshots beigefügt. Der erste zeigt top und der andere zeigt den Summary zum LXC Container aus Proxmox. In den Ressources dieses LXC-Containers ist bei SWAP 0 eingestellt.
 

Attachments

  • top.jpg
    top.jpg
    411.1 KB · Views: 22
  • summary.jpg
    summary.jpg
    30.7 KB · Views: 22
Hast du schonmal ein Update von Proxmox VE gemacht? Normalerweise sollte der Fehler in der Anzeige oben mit Unendlich behoben sein. Bitte prüfe das mal nach.
 
Proxmox müsste auf dem aktuellen Stand sein - solange man den Stand auf dem No-Subscription Repo als aktuell bezeichnet.

# uname -r
4.4.16-1-pve

Anbei auch mal ein Screenshot aus Munin.
 

Attachments

  • munin.jpg
    munin.jpg
    189.4 KB · Views: 14
-218 EB .. klasse :p

Ja, no-subscription ist ausreichend. Scheint dann wohl ein neuer oder immer noch der alte Bug zu sein, aber Verwendung != 0 ohne wirklich swap zu haben ist natürlich sehr komisch.
 

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!