Ubuntu: warum wird ausgelagert?



  • Hi

    Die Systemüberwachung zeigt mir an:

    Speicher
    1,7 GiB (43,8%) von 3,8 GiB

    Swap
    30,0 MiB (0,7%) von 4,0 GiB

    warum werden die 30 mib auf die festplatte geschrieben, wenn doch noch genug ram frei ist?


  • Mod

    Swappen ist keine Frage von ganz oder gar nicht. Der Linuxkernel definiert einen Parameter "swappiness", der festlegt, wie sehr sich das System bedraengt fuehlt, Sachen auszulagern. Wenn eine Speicherseite nie genutzt wird, dann faellt sie eben irgendwann unter einen Nutzungsgrenzwert und wird ausgelagert.

    Ubuntu kommt meines Wissens nach in der Standardeinstellung mit einer recht hohen Swappiness, jedenfalls liest man dauernd Tuning-Tipps, dass man diese ruhig runter setzen koenne. Kann ich nicht beurteilen, ob das wirklich was bringt (aber bei Tuning-Tipps waere ich immer vorsichtig), da ich eine andere Vorgehensweise bevorzuge: Swap komplett abstellen. Denn meinem Eindruck nach ist Swapspace auf dem modernen PC-System vor allem fuer eine Sache "gut", naemlich den Rechner massiv zu verlangsamen. Wenn einem naemlich tatsaechlich mal der Speicher ausgeht, dann wird ein Rechner mit Swapspace erst einmal 20 Minuten unbenutzbar, bevor der Kernel den Speicherfresser abschiesst, wohingegen ohne Swap sofot gehandelt wird. (Diese Erfahrung mag mit SSDs nicht mehr ganz aktuell sein, aber es bleibt der Fakt, dass die RAM-Groesse auf dem Heimcomputer praktisch nie ein relevantes Limit darstellt.)



  • Ich bin mittlerweile soweit zu sagen dass man die swappiness nicht anpassen sollte, insbesondere auf Desktopsystemen (auf Servern mit genau kalkulierter RAM-Groesse ist das was anderes, aber selbst da stell ich eher die swappiness auf 0 statt den Swap auszuschalten)

    Wenn man genug RAM hat dann wird eh nie geswappt und wenn doch mal dann gibt es dafuer auch einen Grund. Und lieber hab ich dann ein langsameres System als dass mir Prozesse abgeschossen werden

    Ein voller RAM bremst das System so oder so

    Im obigen Fall kann es gut sein dass das System entschieden hat ein paar schlafende Prozesse in den swap zu schicken.
    Im Normalfall wird ja nicht erst geswappt wenn der RAM voll ist, sondern mit steigender Nutzung steigt einfach die Wahrscheinlichkeit dafuer (wobei man das eben mit der swappiness anpassen kann)


  • Mod

    zwutz schrieb:

    Ich bin mittlerweile soweit zu sagen dass man die swappiness nicht anpassen sollte, insbesondere auf Desktopsystemen (auf Servern mit genau kalkulierter RAM-Groesse ist das was anderes, aber selbst da stell ich eher die swappiness auf 0 statt den Swap auszuschalten)

    Ist ein Server nicht eher ein Paradebeispiel fuer ein System, bei dem man hohe Swappiness wuenscht und ein Desktop eines fuer niedrige? Beim Server will ich doch so viel wie moeglich frei haben fuer die wichtigen Sachen, beim Desktop ist hingegen grob alles ungefaehr gleich wichtig.



  • Wenn ein Desktop oder Server auf Festspeicher auslagert, heißt das nur, dass jemand mit RAM zu geizig war. Nicht mehr und nicht weniger.



  • TyRoXx schrieb:

    Wenn ein Desktop oder Server auf Festspeicher auslagert, heißt das nur, dass jemand mit RAM zu geizig war. Nicht mehr und nicht weniger.

    Nein, wenn du Swap aktiviert hast, wirst du in vielen Fällen ein paar MB oder zig MB Swap in Benutzung haben; auch wenn du noch sehr viel Arbeitsspeicher frei hast. Je nach konfigurierter Swappiness, siehe oben.

    Ich deaktiviere Swap auch routinemäßig.


Anmelden zum Antworten