ADVERTISEMENT

Swap vergrössern mit File unter Linux

ADVERTISEMENT

Bei Produktiven Maschinen, bei denen der Arbeitsspeicher immer mal wieder vergrössert wird, kann es vorkommen zu wenig swap vorhanden ist. Mit einem Swap-File lässt sich dies in wenigen Minuten beseitigen.

Vielleicht den ISPConfig Server mit zu wenig swap aufgesetzt?

swap was?

Linux und auch alle anderen Betriebssysteme versuchen benötigte Programmdaten zuerst in den Arbeitsspeicher ( RAM ) abzulegen.

Jetzt kann es vorkommen das der ganze Arbeitsspeicher bereits belegt ist, nun beginnt der Linux Kernel RAM freizumachen. Nicht benötigte Dateien werden auf die Festplatte, in die swap-Partition verschoben. Sobald diese wieder gebraucht werden, gehen Sie zurück in den Arbeitsspeicher.

Den ganzen Tag ein hin und her..

Swapgrösser

Die Swapgrösse kann frei gewählt werden. Es empfiehlt sich aber genügen Speicher für den Zwischenspeicher zu reservieren. Sollte der Arbeitsspeicher sowie swap voll sein, kann das System abstürzten. Die Daten aus RAM und Zwischenspeicher sind dann verloren.

Bei einem System mit 8GB RAM sollte der Zwischenspeicher mindestens 8 GB betragen. Bei 64 GB RAM reichen auch weit aus weniger, zwischen 16-32 GB solltes es aber auf jeden Fall sein.

Vergrössern

Als erstes muss eine neue Datei erstellt werden. Die grösse wir mit count angegeben. Der Wert muss in KB sein.
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576

bs= BlockSize
count= grösse der Datei in KB
1GB = 1048576KB
2GB = 2097152KB
5GB = 5242880KB
usw.

Berechtigungen einstellen
sudo chmod 600 /swapfile

File als Swapfile konventieren
sudo mkswap /swapfile

Swapfile aktivieren
sudo swapon /swapfile
Alle Swapfiles und Partionen lassen sich mit “swapon -a” aktivieren.

Swapfile in fstab eintragen

vi /etc/fstab und diese Zeile einfügen
/swapfile swap swap defaults 0 0

Verifizieren
sudo swapon -s

Swap Probleme in 5 Minuten beseitigt 🙂

Das File kann auf einer beliebigen Festplatte oder Ordner auf dem System sein. Auch gibt es bei der Grösse keine Eingrenzungen. Wer jetzt denkt einfach mal 100 GB für Auslagerung bereit stellen, auch hier kann es zu Problemen kommen. Sollten sich 100GB in der Auslagerungsdatei befinden, kann das System unter Umständen nicht in entsprechender Zeit auf die Files zugreifen.

Probleme mit Auslagerungsdateien und RAM führen meistens zu einem Abstutz mit Datenverlust. Also ein bisschen aufpassen.

Patrick

Patrick

IT Systemadministrator

Comments 8

  1. Peter says:

    Hat wunderbar geklappt!

  2. @FloWzoW says:

    Vielen Dank!
    Weil ich die Datei nicht einfach auf /swap legen wollte hab ich gedacht /var/swap ist wahrscheinlich ein besserer Ort und sie dorthin plaziert.

  3. john says:

    hallo, danke für die übersichtlichen ausführungen

    meine frage wäre nun…

    ich hab keine swap partition
    und eine bestehende swap datei mit 2GB (hat ubuntu bei der installation so eingerichtet)
    ich würde gerne diese 2GB swap datei vergrößern
    geht das? wie?
    vielleicht suche ich nicht richtig aber irgendwie finde ich immer nur infos, wie ich eine zusaätzliche swap datei zu einer bestehenden swap partition erstelle

    besten dank falls du eine antwort hast oder einen link auf die lösung parat hast!

    • Patrick says:

      Also wenn du nur eine SWAP-Datei hast, kannst du diese einfach löschen.
      Ablauf müsst wie folgt sein:

      SWAP deaktivieren und warten
      (swapoff -a)
      Datei löschen
      Datei neu erstellen
      FSTAB anpassen mit der neuen Datei und Angaben
      SWAP wieder starten
      (swapon -a)

      So aus dem Kopf heraus.

    • Patrick says:

      Du kannst keine Partitionen vergrössern, die nicht am Ende der Tabelle stehen. Ansonsten würde die 2. Partition Daten verlieren.
      Somit bleibt dir nur die Möglichkeit, mit einer Datei.

  4. Axel says:

    Kann es sein, dass man heutzutage keine eigene Partition für die Swap mehr benötigt?

    Mit GParted hatte ich auf einer MicroSD für einen Einplatinencomputer mit installiertem Debian eine Extra-Partition erstellt, es wird nur der kleine ZRAM für die Auslagerung angezeigt. Leider verfügt der Einplatinencomputer nur knapp 1 GB RAM, ein ZRAM mit etwa 512 MB und ich dachte, ob man die Auslagerung nicht vergrößern könnte… Es wäre eigentlich nett, wenn man quasi einen „virtuellen“ RAM mit mehr Speicher zu dem echten RAM hinzufügen könnte, damit minimal mehr RAM als die fast 1 GB zu Verfügung stehen…

    • Axel says:

      Nachtrag zum Thema dd:
      Möchte man sich den aktuellen Status anzeigen lassen, so bietet sich, sofern bei dd vorhanden ist, status=progress an. Dort wird die aktuelle Dateigröße wie auch die Geschwindigkeit, ausgegeben und man weiß, wie lang der Prozess ungefähr dauern kann.

      • Axel says:

        Nachtrag zum Thema Geschwindigkeit:
        Ein Einplatinencomputer kann bei der Erstellung der Auslagerungsdatei ganz schön langsam sein. Sollte ein schnelleres Kartenlesegerät und zum Beispiel eine schnellere MicroSD-Karte mittels USB 3 vorhanden sein, sollte man die Auslagerungsdatei auf einem Linux (Debian, Ubuntu, …) machen, sonst kann es Stunden beim Einplatinencomputer dauern… Bei dem Orange Pi Zero 2 sollen es ungefähr 105 kB/s betragen und auf dem PC mit USB 3 etwa 50 MB/s…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Instagram