TS: Hardware, Speicher

Hello,

wenn man bei Windows/Linux den RAM erweitert, sollte man dann auch die Auslagerungsdatei/Swap-Partition vergrößern?

Glück Auf
Tom vom Berg

--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.
  1. Hallo Tom,

    diese Frage dürfte sich für Windows und Linux unterschiedlich beantworten.

    Der Rat eines OS/2 Experten aus früheren Zeiten: Verwende für das Pagefile die RAM-Disk, da ist der Zugriff am schnellsten. Mein "Aber das ist doch Unsinn" verhallte im Dickicht seiner Dunning-Krüger geschädigten Synapsen. Der Rat stammte aus den Zeiten, wo es Computer mit mehr RAM gab als das OS verwalten konnte, es aber RAMDISK-Treiber gab, die es sehr wohl konnten - und wurde dann ungefiltert mit in die Zukunft genommen.

    Sprich: Nicht jeder Best-Practice Rat, der wie Müll klingt, war auch immer welcher. Er kann auch einfach verschimmelt sein. Und andersrum kann Rat gut klingen, aber dennoch Unrat sein.

    Bei Windows wird - meine ich - empfohlen, das Pagefile in der Größe des RAM zu fixieren. Bei üppigem RAM-Ausbau sollte man meinen, die Swap-Datei ganz abschalten zu können, aber nein, das mag das liebe Windows nicht. Ein Swäppchen (bei mir: 16 MB) muss es schon sein. Wenn Du Dir gar keine Gedanken machen willst und Platz genug hast, überlass die Festlegung der Pagefile-Größe Windows. Die von MS wissen schon, was Windows braucht. Und sie zeigen es sogar an: minimale, empfohlene und aktuell gewählte Größe des Pagefile. Mir empfehlen sie knapp 2GB bei 8GB RAM. Fest eingestellt habe ich 16GB. Keine Ahnung, ob die Windows Empfehlung ein statistisch überprüfter Wert ist, je nachdem, was Windows an Workload auf der Kiste feststellt.

    Ich habe auch mal gehört, dass das Pagefile auf einer SSD zwar schneller ist, aber der Lebensdauer der SSD wegen der vielen Schreibvorgänge nicht gut tut. Ob das Rat oder Unrat ist, mögen andere entscheiden. Mein Pagefile liegt auf einer (internen!) Magnetplatte.

    Eine weitere Info-Quelle stammt von deinem Namensvetter.

    Und Linux? Tja, keine Ahnung.

    Rolf

    --
    sumpsi - posui - clusi
    1. Hallo Rolf,

      Der Rat eines OS/2 Experten aus früheren Zeiten: Verwende für das Pagefile die RAM-Disk, da ist der Zugriff am schnellsten. Mein "Aber das ist doch Unsinn" verhallte im Dickicht seiner Dunning-Krüger geschädigten Synapsen. Der Rat stammte aus den Zeiten, wo es Computer mit mehr RAM gab als das OS verwalten konnte, es aber RAMDISK-Treiber gab, die es sehr wohl konnten - und wurde dann ungefiltert mit in die Zukunft genommen.

      ich bin beruhigt, dass du den Hintergrund zu diesem "guten Rat" auch beleuchtest, denn sonst ...
      Dann dürfte das aber schon seit Windows 3.0 Unfug sein, denn schon diese alte Version konnte 16MB RAM direkt nutzen. Das darunterliegende DOS zwar nicht, aber DOS kann/konnte auch mit einer Swapdatei nichts anfangen.

      Bei üppigem RAM-Ausbau sollte man meinen, die Swap-Datei ganz abschalten zu können, aber nein, das mag das liebe Windows nicht. Ein Swäppchen (bei mir: 16 MB) muss es schon sein.

      Hmm, seit wann? Zugegeben, das letzte Windows, das ich selbst installiert habe, war ein 5.1 (aka "XP"). Und in XP konnte man Swapping noch komplett abstellen.
      Windows 2000 habe ich bei 1GB RAM auch lange Zeit komplett ohne Swap betrieben.

      Ich habe auch mal gehört, dass das Pagefile auf einer SSD zwar schneller ist, aber der Lebensdauer der SSD wegen der vielen Schreibvorgänge nicht gut tut.

      Sehe ich gefühlsmäßig auch so. Andererseits hat sich bei den SSDs in den letzten Jahren viel getan und die Zahl der garantierten Schreibzugriffe ist deutlich gestiegen. Möglich, dass diese Empfehlung daher schon kalter Kaffee ist.

      Und Linux? Tja, keine Ahnung.

      Bei den Linuxen, die ich bisher für mich eingerichtet habe, hab ich in die Luft gepeilt und ca. 16GB Swap-Partition reserviert. Scheint okay zu sein.

      Ciao,
       Martin

      --
      Making mistakes is human.
      Automating them is progress.
      1. Hallo Martin,

        Hmm, seit wann?

        Seit gerade eben. Windows zeigt mir das in dem Dialog an, in dem ich die Größe der Swapdatei einstellen kann. Aber das hab ich wohl falsch verstanden. Wenn ich auf einem Laufwerk ein Pagefile anlegen will, dann muss es mind. 16MB groß sein.

        Aber ich kann auch für alle Laufwerke sagen: "Kein Pagefile". Ich hab mich jetzt nur nicht getraut, das zu aktivieren. Wie krieg ich das wieder 'rein, wenn Windoof deshalb nicht mehr startet? Kein Bock auf Systemwiederherstellung 😟

        Dem Vernehmen nach schadet ein Pagefile auch nicht der Performance. Solange RAM da ist, verwendet Windows ihn. Von daher - ich hab's jetzt auf systemverwaltet gestellt... 😇

        Rolf

        --
        sumpsi - posui - clusi
        1. Hallo,

          Hmm, seit wann?

          Seit gerade eben. Windows zeigt mir das in dem Dialog an, in dem ich die Größe der Swapdatei einstellen kann. Aber das hab ich wohl falsch verstanden. Wenn ich auf einem Laufwerk ein Pagefile anlegen will, dann muss es mind. 16MB groß sein.

          ah, okay. Kaum macht man's richtig, schon geht's. ;-)
          Aber ich hätte mir auch vorstellen können, dass die Möglichkeit, Swapping zu deaktivieren, z.B. ab Windows 6 abgeschafft wirde.

          Aber ich kann auch für alle Laufwerke sagen: "Kein Pagefile". Ich hab mich jetzt nur nicht getraut, das zu aktivieren. Wie krieg ich das wieder 'rein, wenn Windoof deshalb nicht mehr startet? Kein Bock auf Systemwiederherstellung 😟

          Ich verstehe und respektiere dein Zögern. Wenn ich mir über die Konsequenzen nicht ganz im Klaren bin, lass ich solche Experimente auch lieber sein. In diesem Fall bin ich relativ optimistisch: Solange dein PC die als Mindestanforderung definierte Menge RAM hat, wird es auch bestimmt noch starten können. Aber ich möchte nicht die Hand dafür ins Feuer legen, denn es ist dein System, das dann eventuell Zicken macht, nicht meins. *g*

          Dem Vernehmen nach schadet ein Pagefile auch nicht der Performance. Solange RAM da ist, verwendet Windows ihn. Von daher - ich hab's jetzt auf systemverwaltet gestellt... 😇

          Eine feste Größe einzustellen ist etwas performanter, weil das Vergrößern (und gelegentlich auch Verkleinern) der Swapdatei "on demand" als Dateisystem-Operation dann wegfällt. Das ist aber vielleicht auch schon Microoptimierung.

          Schönen Abend,
           Martin

          --
          Polizist hält am Abend einen Radfahrer an.
          "He, junger Mann, wenn das Licht nicht geht, absteigen!" - "Hab ich auch schon probiert, geht aber trotzdem nicht."
  2. Die Empfehlung die ich noch kenne: Die Auslagerungsdatei soll doppelt so goß sein wie der RAM.

    MFG

    • Wenn das Linux ein Notebook ist und auch mal "einschlafen" können soll, dann sollte der Swap-Space größer sein als der Arbeitsspeicher.

    • Wenn der Swap-Space auf einer SSD abgelegt wird, dann ist es (im Hinblick auf künftige Speicherwerweiterungen) die bessere Idee, diesen nicht als Partition, sondern als Datei anzulegen. Das Fragmentieren ist dann ziemlich egal und der Vorteil einer flexibleren Größe einer Datei hebt den geringeren Nachteil des Fragmentieren wieder auf.

    #! sudo /bin/bash
    
    mem=$(LANG=c free -g | grep 'Mem:' | awk '{print $2}');
    # e.g. mem=15 (bei 16 GB Speicher)
    
    mem=$(($mem+1));
    # e.g. mem=16
    
    SwapBlocks=$((${Gigabytes}*1024*1024));
    
    # Neues Swapfile erzeugen und aktivieren:
    
    swDir='/var/cache/swap'
    swFile='/var/cache/swap/swap0';
    
    umask 002;
    mkdir "${swDir}";
    umask 007;
    touch "${swFile}";
    fallocate -zl ${Gigabytes}G "${swFile}";
    dd if="/dev/zero" of="${swFile}" bs=1024 count=$SwapBlocks;
    sudo chmod 0755 "${swDir}";
    sudo chmod 0600 ${swFile};
    mkswap "${swFile}";
    swapon "${swFile}";
    swaplist=$(grep 'swap.*sw' /etc/fstab | awk '{print $1}');
    for swap in swaplist; do
      swapoff $swap;
    done
    echo -e "\n${swFile} none swap sw 0 0" >> "/etc/fstab";
    
    # Hat das geklappt?
    mem -g;
    
    tmpFile=$(mktemp);
    grep -v '/dev/.*swap.*sw' > ${tmpFile};
    mv ${tmpFile} /etc/fstab;
    chmod 664 /etc/fstab;
    
    # Hat das geklappt?
    cat /etc/fstab;
    

    oder das Einrichten eines flexiblen Swaps ab sofort automatisch erledigen lassen:

    sudo apt-get install swapspace
    
    • Willst Du indes auch verschlüsselten swap, dann lese das hier. Beachte, dass beim Aufwecken dann womöglich eine Passworteingabe schon beim "booten" nötig wird.

    Falls was schief läuft komme ich gerne und repariere das. Aber nicht kostenlos...