[SOLVED] RAM / Swap Zuteilung bei LXC Containern, wie viel?

miracuru

New Member
Jan 7, 2024
29
5
3
Guten Abend

Bei LXC Container bin ich mir nie so sicher, wie gross ich Swap und Memory wählen soll.
Ich betreibe Proxmox auf einem Minis Forum MS-01 mit 32GB Ram und CPU = 20 x 13th Gen Intel(R) Core(TM) i9-13900H (1 Socket).
Darauf laufen etwa 8 Container regelmässig mit Diensten wie Pi-Hole, Nextcloud, Bookstack und dergleichen.
Ich bin auch der einzige Verwender der Dienste.

z.B. in diesem Falle bei Bookstack. Verbraucht werden fast durchs Band gerade mal 475MB RAM.
In den Ressourcen habe ich mal 1GB Ram und 6GB SWAP zugeordnet.

Würdet ihr sgen, das ist in etwa okay so? Oder soll ich lieber mehr Reserve geben bezüglich RAM und / oder Swap, oder so wie in diesem Falle mal schauen, was es so in etwa verbraucht und dann ein bisschen dazu geben? In diesem falle wären das bisschen dazugeben ja gleich 50%. Oder kann, Soll ich da sogar noch runter gehen bis knapp an die Grenze, an das was so im Schnitt verwendet wird?

Hier habe ich mal einen Screenshot, wie das bei Bookstack bei mir in der Regel aussieht:

1713382051889.png
 

Attachments

  • 1713381877433.png
    1713381877433.png
    255.1 KB · Views: 5
  • 1713381917428.png
    1713381917428.png
    265.2 KB · Views: 6
Last edited:
Ich richte mich immer ein bisschen nach dem Verbrauch der VMs, in deinem Fall würde ich 2GB RAM und 1GB Swap einstellen.
Du hast ja 32 GB zur Verfügung, also auf die einzelnen Maschinen schauen und ruhig den Einen oder Anderen GB mehr nehmen.
Meinem Proxmox z.B. habe ich auch 2 GB zugeordnet, obwohl er auch mit 1 oder weniger läuft.
Im Endeffekt teilt Proxmox die Ressourcen eh so zu wie es benötigt wir, du kannst also selbst wenn du 64Gb RAM zuteilst nur 32GB physisch haben und die Maschinen laufen, solange sie nicht den zugeteilten RAM plötzlich gleichzeitig voll ausschöpfen.
 
Also ich persönlich weise immer den Standardwert für SWAP meinen Containern zu (512MB wenn ich das richtig in Erinnerung habe), aber mehr RAM als der Container wirklich benötigen würde.

"More RAM = More Fast", so können die Container einiges im RAM-Cache lagern.
Meine Pihole Container kommen zB. locker mit 128MB RAM aus, ohne dass nur ein mal der SWAP benutzt werden musste, aber so konnte fast nichts gecached werden. Ich habe deutlich bessere Leistung mit 512MB RAM bemerkt, durch den dadurch funktioneirenden RAM-Cache.

Ich schau mir immer an, wie viel RAM meine Container wirklich zum funktionieren benötigen und gebe dann noch mal 500MB - 2GB mehr frei, einfach für den RAM-Cache und etwas Reserve, dass der SWAP nicht benutzt werden muss.
 
Ich vergebe RAM "nach Gefühl" und bin da erstmal ziemlich großzügig. Wenn es zu OOM kommt, dann bekommt der Gast mehr. Sehe ich regelmäßig zu viel RAM für Caching verschwendet, dann reduziere ich den RAM, dass ich da da noch etwas Reserve habe, damit es nicht zum OOM kommt.
Swappiness reduziere ich immer. Swap gibt es dann nur einen Bruchteil von dem, was ich an RAM gebe, damit der RAM defragmentiert wird und OOM im Ernstfall verhindert wird. Zu großer Swap bläht mir immer unnötig die Backups auf und hilft auch nicht gerade der SSD Haltbarkeit.

Was hilfreich ist, ist wenn man den "available" RAM von einer VM/LXC über Tage oder gar Wochen per Monitoring-Software überwacht. Dann kann man ja genau sehen, was zu Spitzenzeiten maximal an RAM, Cache schon weggerechnet, verbraucht wird. Davon packt man dann vielleicht 20% als Reserve oben drauf und gut ist.
Logs von allen VMs/LXCs/Nodes an einen zentralen Logserver schicken lassen, der dann alle eingehenden Logs überwacht, auswertet ob "oom" in den Logs vorkommt und dann eine Benachrichtigungsmail schickt, finde ich auch sehr praktisch. Dann bekommt man wenigstens sofort mit, wenn da PVE einen Gast killt oder ein Gast einen Prozess.
Aber nichts für Consumer SSDs, das schreibt hunderte GBs an Tag dank Write Amplification durch die Sync Writes der DB, die pausenlos dutzende Logs pro Sekunde schreiben muss.
Hat nebenbei nich den netten Effekt, dass da ein kompromittierter Gast nicht einfach die Logs löschen kann um Spuren zu verwischen.
 
Last edited:
  • Like
Reactions: itNGO
Hallo zusammen

Danke für eure hilfreichen Antworten. Das gibt mir schon einiges an anhaltspunkten und ein besseres Gefühl dafür.
Die Idee mit dem Logserver klingt auch sehr interessant. Muss mal schauen, wie das geht. Ich habe eh auch noch eine Synology, welche mir immer wieder mal Logs via eMails sendet. Vlt. handelt es sich da um die gleiche Art Logserver. Dann ginge das gleich mit einem Aufwisch, das zu zentralisieren.

Also nochmals vielen Danke für die Hilfe und Anhaltspunkte.
 

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!