NEWS
Frage zu Swap unter Proxmox
-
Ich habe seit ein paar Tagen ein sehr seltsames Verhalten im ioBroker.
Der ioBroker läuft als Container mit 6 GB unter Proxmox V6.3.
In einem weiteren Container mit 2 GB läuft influxDB mit Grafana.
Bei beiden Containern steht der Swap auf 100 MB.
Bisher war das auch kein Problem und der Swap wurde soweit ich das gesehen habe eher kaum bis gar nicht benutzt.
Seit ein paar Tagen ist mir aufgefallen das plötzlich der Swap-Speicher auf 100% vollgeschrieben wird und der ioBroker deutlich langsamer wird. Wenn ich dann neu starte ist alles wieder flott.
Ich kann aber unter Proxmox mit swappiness scheinbar den Container nicht beeinflussen.
Daher jetzt meine Fragen:
Brauche ich Swap im ioBroker wenn die Speicherauslastung bei ca. 35% liegt?
Wenn nein, wie kann ich Swap deaktivieren? Reicht es den auf 0 zu setzen?
Bei InfluxDB liegt der Speicherverbrauch bei ca. 10%. Ist hier Swap nötig?Ich bin eine absolute Niete unter Linux. Also falls ich irgendwelche Einstellungen ändern muss dann bitte die Befehle so angeben das ich sie eventuell direkt verwenden kann.
Danke euch. -
@chaot Warum bei dir der Swap voll läuft, kann ich dir nicht sagen. Eventuell man mit
top
bzw.htop
nachsehen. Aber wenn ausreichend RAM zugeordnet ist und insgesamt zur Verfügung steht, kann man den Swap auch komplett deaktivieren. Das habe ich bei mir so und alle Container und VM laufen so ohne Probleme. -
@dr-bakterius Ram habe ich ihm 6 GB zugeordnet und die stehen auch tatsächlich zur Verfügung. Von daher werde ich es mal ohne Swap versuchen.
Ich verstehe es ehrlich gesagt auch nicht warum Swap vollläuft. Das hatte ich bisher nie gehabt. -
@chaot Wie ist das Ergebnis Deines Tests ohne Swap?
Ich habe genau das gleiche Problem. Der Swap läuft voll und das System ist dann träge. Ressource sollten eigentlich genug zur Verfügung stehen:
Nach einem Reboot ist erst mal wieder alles gut.
Bei allen anderen VMs/LXCs tritt das Problem nicht auf.
-
@chaot sagte in Frage zu Swap unter Proxmox:
wie kann ich Swap deaktivieren? Reicht es den auf 0 zu setzen?
Ja, unter Ressourcen.
-
@josh Ich hate den Swap deaktiviert und keinen Unterschied gemerkt. Das System ist auch recht lange (ca. 5 Monate) so gelaufen.
Danach wollte ich wissen ob das vielleicht an meinem Geiz lag. Also habe ich vor ca. 2 Monaten den Swap auf 2 GB gestellt (bei 6 GB Ram). Der dümpelt jetzt die ganze Zeit bei 0,01% rum, also so um die 150 kB.
Was jetzt besser ist kann ich dir jetzt nicht beantworten, da ich persönlich keinen Unterschied merke.
Eventuell lag es wirklich daran das ich nur 100 MB zugeordnet hatte, oder der Effekt ist mit irgendeinem Update wieder verschwunden ohne das ich das gemerkt habe. Es ist aber auch alles gelaufen ohne Swap. -
@chaot sagte in Frage zu Swap unter Proxmox:
Seit ein paar Tagen ist mir aufgefallen das plötzlich der Swap-Speicher auf 100% vollgeschrieben wird und der ioBroker deutlich langsamer wird. Wenn ich dann neu starte ist alles wieder flott.
Ist bei mir auch so.
Deshalb starte ich proxmox jede Nacht neu.
Dann läuft der Speicher nicht voll und iob ist flüssig.Wenn jemand eine brauchbare, sinnvolle Lösung hätte, wäre ich sehr interessiert.
-
@bahnuhr Wie gesagt hatte ich für ein paar Monate den Swap ganz aus. Das hat funktioniert.
Aktuell habe ich ihn auf 30% vom gesamten Ram stehen. Das funktioniert auch ohne dass der Effekt auftaucht.Allerdings habe ich dem Container 6 GB Ram zugeordnet. Mit 4 GB kam ich nicht zurecht, obwohl der nie voll genutzt wurde. Ab ca. 80% Auslastung hat der ioBroker immer sehr träge reagiert. Ich habe aber auch hier nie geprüft woran das lag, da eben mit 6 GB der Effekt komplett weg war und alles stabil läuft.
-
@bahnuhr sagte in Frage zu Swap unter Proxmox:
Deshalb starte ich proxmox jede Nacht neu.
Das ist aber doch nicht der Sinn einer 24/7 Maschine im runlevel 3, die muss immer laufen. Da solltest Du die Ursache rausfinden.
Bei mir wird in keinem node und keinem container swap angefasst.
-
Ja, das habt ihr schön geschrieben.
Aber: ich bin ja froh, dass ich dies überhaupt hinbekommen habe. iob lief jahrelang auf win.Und nun seit ca. 1 Jahr auf proxmox.
System
Proxmox 6.4-13
iob in einer VM
und da:
Ob ich swap aktiviert habe weiß ich nicht.
Fakt ist: Der Speicher läuft sich irgendwann voll; und ab da wird es langsamer.
-
nur so als idee - bei mir wird der swap sehr groß, wenn ich große datenmengen auf den proxmox sichere - da hängt bei mir eine wohl zu langsame usb platte dran und samba swapped dann
vielleicht ist sowas in der art ein problem
-
Ich habe jetzt mal den Swap von 512MB auf 1GB hoch genommen. Mal gucken, ob der auch voll läuft.
EDIT:
Außerdem wollte ich die InfluxDB 1.8 , die im ioBroker-Container läuft gegen eine InfluxDB 2.1 in einem separaten Container ersetzen. Letzteres ist schon installiert. Dummerweise ist die Anbindung von Grafana an die InfluxDB 2.1 per Flux mühselig. Deshlab habe ich die 1.8 im ioBroker noch nicht still gelegt. -
@bahnuhr Laut deinem Bild ist da kein Swap aktiv.
Das würde zwischen "Speicherverbrauch" und "Bootdiskgröße" stehen.
Da deine Bootdisk recht groß ist kannst du dem doch mal probehalber 2 GB Swap zuordnen. Dazu muss der ioBroker bzw. der Container auch nicht neu gestartet werden.
Unter "Resourcen - Speicher" Bearbeiten und dort die Swap Größe einstellen.
Und dann mal ein paar Tage beobachten.
Das der Hauptspeicher volläuft habe ich bei mir nicht. Der läuft hoch bis ca. 3 GB und bleibt dann dort stabil.Aber wenn der ioBroker sich so komisch verhält musst du doch nicht den Proxmox komplett neu starten?
-
@chaot sagte in Frage zu Swap unter Proxmox:
Unter "Resourcen - Speicher" Bearbeiten und dort die Swap Größe einstellen.
Ich habe nicht Rsessourcen.
Unter Speicher bearbeiten habe ich auch nicht Swap.
@chaot sagte in Frage zu Swap unter Proxmox:
Aber wenn der ioBroker sich so komisch verhält musst du doch nicht den Proxmox komplett neu starten?
Das mache ich mit dem proxmox Adapter aus iob heraus.
Grund: Ich weiß sonst nicht wie. -
Ich wüsste auch nicht wie ich den swap einstellen kann. Allerdings habe ich auch dieses Problem nicht, dass irgendwas voll läuft…
-
@saeft_2003 Den Swap-Speicher stellt man in einem LXC-Container ein. Du hast aber ioBroker in einer VM installiert.
-
Ah ok ich dachte das funktioniert in einer VM genauso.
-
@bahnuhr Du verwendest eine VM.
Da musst du über die Konsole direkt in der VM den Swap einstellen.
Den kannst du aber dann in Proxmox auch nicht explizit sehen.
Ich habe auch eine VM am laufen (nicht ioBroker) bei der der Speicher scheinbar volläuft. Aber das ist vermutlich eine falsche Anzeige in Proxmox. Die VM bei mir nimmt sich irgendwann 98% vom Hauptspeicher (laut Proxmox) und geht nicht mehr runter.
Die VM läuft aber mit normaler Geschwindigkeit weiter. Das ist vermutlich irgendwann die Anzeige für den vom System reservierten Speicher unter Linux und nicht der tatsächlich genutzte Speicher. Allerdings weiß ich hier nicht ob das auch beim Balloning so angezeigt wird, da ich das nicht nutze.
In deinem Fall ist das nach meiner Meinung aber auch falsch eingestellt. Beim Balloning ordnet man doch normalerweise einen Minimalspeicher zu. Also beispielsweise 3 GB und lässt den dann bis maximal 6 GB hochlaufen. Denke zumindest das ich das mal so gelesen habe.Über die Konsole kannst du dann auch den Neustart auslösen.
Wenn du das aus dem ioBroker machen willst kannst du dir mal den Adapter "linux-control" anschauen. Mit dem erledige ich solche Sachen per Knopfdruck. Da funktionieren auch ganz bequem die Updates drüber. -
@saeft_2003 OT: Warum hast du NUT auf einer VM? Machst du das nicht im Proxmox?
-
Weil ich sonst wenn ich die proxmox Hardware tausche nut wieder installieren müsste. So ist es für mich einfacher einfach die VM zurückspielen, ich bin kein linux crack und bin froh das so alles im Moment stabil läuft und ich im Notfall weiß wie ich schnell wieder alles zum laufen bekomme.