Swap auf SSD Diskussion

  • ..., es kommt drauf an. ;) Also auf das verwendete System und dessen Ressourcen und den gestellten Anforderungen. Man muss abwägen.

    Aber genau das ist ja das Problem. Als einfacher User. kenne ich das System, dessen Ressourcen bzw. die gestellten Anforderungen, nicht genau genug.

    Deshalb wird m. E. eine generische Lösung (default Konfiguration) zur Verfügung gestellt bzw. empfohlen.

    Auch wenn ausreichend RAM vorhanden ist, würde ich vorsichtshalber und immer (bei Linux) die Swappiness auf 1 stellen und eine 100MB-Swap-Datei konfigurieren.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Ist das schlussendlich nicht das Selbe? System und Programme am Laufen zu halten? Nur das Warum anders interpretiert?

    Die falsche Interpretation ist es sich mittels Swap den RAM künstlich zu erweitern, um Geld zu sparen.

    Darum geht es.

    Trotzdem möchte man den Swap zur Sicherheit als Puffer haben.

    Die Frage ist ja die, wie sollte man den Swap meiden? In dem man kein Swap zur Verfügung stellt oder in dem man die Nutzung von Swap so niedrig wie möglich priorisiert?

    Also ich nutze selbst auf einem Desktop-System mit 32 GiB RAM auch Swap. Die Swap-Partition wird aber kaum genutzt. Dennoch hat mich die Swap-Partition schon mal vor einem OOM bewahrt. D.h. ich war dann noch in der Lage Änderungen zu speichern, um dann das eigentliche Problem zu beheben (Prozess killen). Wenn man keine Swap-Partition hat, werden Prozesse sofort gekillt, sobald der freie RAM ausgeht.

  • Fazit:

    • genug RAM bereitstellen
    • Swap einschalten
    • Swappiness niedrig setzen

    Nach dem Motto:

    Swappen nur im Notfall möglich machen. Im Notfall ist Swappen besser als das wahllos Prozesse gekillt werden.

    Meine Methode seit längerem:

    Bei mir auf einem Pi4 (4GB) steht der maximale Swap auf 500MB (statt 100MB), wird aber in der Regel kaum bis gar nicht genutzt.

    Viele Grüße,

    Peter

  • Fazit:

    genug RAM bereitstellen
    Swap einschalten
    Swappiness niedrig setzen

    Wobei hier der erste Punkt Swap überflüssig macht. Da er ja dann nie benötigt werden würde. Eine generelle Aussage kann nicht allgemein gültig sein. Besser man kennt sein System und wägt dann ab, wie gesagt.

  • Wobei hier der erste Punkt Swap überflüssig macht.

    Nein, auch genug RAM macht die Einrichtung/Konfiguration von Swap (bei Linux) nicht überflüssig. Der eingerichtete Swap wird evtl. nicht bzw. nie benutzt oder man merkt es nicht, wenn Swap benutzt wird.

    Siehe dazu z. B. diese Beschreibung (oder gleichwertig) zur Swappiness.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Wenn Swap nie benutzt wird, kann Swap auch abgeschaltet werden. Da sollte es keinen Unterschied geben. Swappiness ist ja nur eine Swap Einstellung, worauf ich gar nicht eingegangen bin und auch nicht wollte. Und da Linux, soweit mir bekannt, auch ohne Swap läuft, sehe ich kein Problem Swap abzuschalten, wenn es nie benutzt wird, oder der Benutzer es nicht möchte. Deine Aussage klingt aber anders. Also das Swap nötig ist, auch wenn es nie benutzt wird.

  • Nein, darum geht es nicht! Das hat auch keiner behauptet. Hör bitte mal auf, deine Argumentation auf haltlose Unterstellungen aufzubauen. Danke!

    Irgendjemand hat in diesem abgetrennten oder im alten Thread in diese Richtung nachgefragt und darauf bin ich eingegangen. Es ging um die Richtigstellung.

    Swap != Ram-Ersatz

    Swap == Sicherheit

    wie oft geswappt wird -> swappiness

    Und das ist bei dem Mac auch so. Apple kocht auch nur mit Wasser.

    Deine Aussage klingt aber anders. Also das Swap nötig ist, auch wenn es nie benutzt wird.

    Das ist das allgemeine Missverständnis beim Swap. Linux läuft auch ohne Swap.

    Wieso man Swap dennoch haben sollte, steh in den Beiträgen.

    Ein Admin richtet den Swap grundsätzlich ein, um diesen Puffer zu haben. Mit Monitoring braucht man auch ein bisschen Reaktionszeit und die verschafft einem der Swap.

    Einmal editiert, zuletzt von RestlessMud46765 (19. April 2022 um 18:10)

  • Ich persönlich habe auf meinem Pi der meine Orgel steuert und die Töne erzeugt auch keinen Swap. Wobei ich hier ein klares Anwendungsszenario habe, wo keine Veränderungen möglich sind. Daher kann ich alles auf die verfügbaren Ressourcen abstimmen und brauche keine Angst haben dass etwas unvorhergesehenes passiert.

    Würde ich einen Server betreiben darauf, dann wäre zumindest eine Swap Datei durchaus sinnvoll. Ich kann da planen und dimensionieren wie ich will, wenn ungünstig mehrere Anfragen zusammenkommen, dann kann die Verbrauch mal kurz unbestimmt erhöht sein. Da wäre es natürlich doof wenn ein Teil des Servers plötzlich abgetötet wird. Ich würde aber trotzdem Logs erstellen und wenn häufig der Swap genutzt werden muss, dann würde ich mir Gedanken machen müssen.

  • Bis jetzt habe ich in Zusammenarbeit mit Kollegen so ca. 350 RPi Zero an Endkunden verkauft. Die Dinger laufen 24/7, loggen Daten und steuern einen Akku. Die betreibe ich auch ohne Swap. Boot- und Root-Partition sind Read-Only. Eine dritte Partition ist beschreibbar. Bei diesem Projekt war mir der Swap nur im Weg. Da microSD-Karte so lange wie möglich überleben muss, darf nichts unkontrolliert schreiben. Wenn auf dem RPi Zero meine Anwendung ein Speicherleck hat (nie geprüft), wird der Dienst gekillt und neu gestartet. Das ist aber besser, als ständig die Module zurückzubekommen, nur um dann neue microSD-Karten neu zu flashen.

    Bisher hatten wir unter 10 Rückläufer in einem Zeitraum von ca. 4 Jahren.

    Also Gründe kein Swap zu verwenden gibt es auch, aber das sind eher so Spezialfälle.

  • Bisher hatten wir unter 10 Rückläufer in einem Zeitraum von ca. 4 Jahren.

    Wie hoch ist eigentlich die Haltbarkeit von Daten auf einer Speicherkarte? Also ich meine nicht die Lebensdauer der Speicherkarte, sondern wie lange der Speicher erhalten bleibt wenn Bereiche nicht mehr verändert werden? Irgendwann müssten ja die Ladungen verschwunden sein, oder erneuern die sich wenn die Karte aktiv ist?

  • Deine Aussage klingt aber anders. Also das Swap nötig ist, auch wenn es nie benutzt wird.

    Nein, dass es auch ohne Swap geht sieht man doch bzw. das weiß man. Die Frage ist nur, was ist effizienter, mit oder ohne Swap.

    M. E. ist es nur eine Frage der Zeit, bis man auch mit Linux "virtual swap space" (... ja, im RAM ;) ) benutzen kann/wird.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Die Diskussion ist schon interessant, den se zeit doch, dass der Grund für Swap nicht wirklich erkannt wird.

    Früher™ wurde Swap-Speicher, und zwar eine Partition mit dem passenden "Dateisystem" eingerichtet, um dem System die Möglichkeit zu geben, die zum aktuellen Zeitpunkt nicht bei der Verarbeitung benötigten Datenbereich auszulagern => mehr Hauptspeicher bereitzustellen,

    Programmcode, der 'ausgelagert' wurde, wurde einfach weggeworfen, da das System diesen Programmcode jederzeit wieder von der Platte laden konnte.

    Als die Rechner mehr Hauptspeicher bekamen, wurde überlegt, ob auf den Swap-Speicher verzichtet werden konnte. Doch als die Prozessoren aufkamen, die sehr viel mehr Speicher ansprechen konnten, als in den Computern eingebaut wurde, wurde Swap wieder interessant.

    Die vom PI 4 8G-Rechner im 64bit Modus ansprechenbarer Speicher ist um einige Zweierpotenzen höher, als der eingebauten Speicher. Wenn Programme geladen werden, die mehr Speicher veralten als der Rechner physikalen Speicher hat, dann muss der berech, der aktuell nicht verwendet wird, ausgelagert werden.

    Und dafür dient Swap.

    Je mehr Speicher die Programme bei einer Datenverarbeitung nutzen können, desto mehr Swap.

    Im normalen Betrieb, mit Swap, wird dieser Bereich aber nur selten verwendet, doch wird der Swap vom System, wenn Swap vorhanden ist, verwaltet, damit jederzeit ausgelagert werden kann.

    Swap im Hauptspeicher ist nicht wirklich sinnvoll, denn das geht vom Hauptspeicher ab.

    Heutzutage werden Systeme mit einer Swap-Größe eingerichtet, die der Hauptspeichergröße entspricht, wenn die verwendeten Programme nicht mehr erfordern.

    Wenn möglich, wird für Swap ein Datenträger verwendet, der nur Swap enthält, nicht die Systempartition enthält (Programmcode wird wie gesagt nie geswapt sondern nachgeladen) oder besonders schnell ist. Am besten wären alle drei ,-)

    Flash-Speicher wird nur als Swap verwendet, wenn dieser ausreichend gut abgesichert wird, also die möglichen Schreibvorgänge verträgt.

    Swap auf SD-Karten ist garantiert nicht Sinnvoll.

    Bei Windows nennt sich der Swap "permanente Auslagerungsdatei" (swapfile.sys)

    Computer ..... grrrrrr

  • Swap im Hauptspeicher ist nicht wirklich sinnvoll, denn das geht vom Hauptspeicher ab.

    Das war auch mein erstes Gefühl, als Fedora mit swap-on-zram anfing.

    Und es passt vermutlich auch nicht in jedes Szenario.

    Vielleicht ganz interessant dazu:

    Bisher habe ich mir dazu keine weiteren Gedanken gemacht. Meine Fedora-Systeme laufen einfach...

  • Das war auch mein erstes Gefühl, als Fedora mit swap-on-zram anfing.

    Und es passt vermutlich auch nicht in jedes Szenario.

    Ich habe dort die Erfahrung gemacht das es bei geringen Hauptspeicher eher Probleme macht. Beispiel mein Arbeitsdesktop hat 4GB Ram, während mein zweiter Rechner 32 GB hat. Auf dem zweiten läuft es einfach, aber auf dem mit 4GB wird es schnell eng. Wenn der Hauptspeicher eh knapp ist, dann ist es nicht sinnvoll noch speicher davon abzuziehen für solche Dinge und es sorgt dafür, dass schnell in eine Datei ausgelagert wird.

    Was die Sicherheit betrifft dürfte der Swap im Ram durchaus sinnvoll sein. Wenn das System abgeschaltet ist, dann ist der Inhalt weg. Auf einem Datenträger liegen die Informationen noch weiterhin für Dritte zugänglich. Ob man mit diesen Daten dann wirklich etwas anfangen kann weiß ich nicht. Aber sie sind eben da mit unbekannten Inhalt.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!