Wie kann ich eine Auslagerungsdatei erstellen?

11

Ich weiß, wie man eine Swap-Partition erstellt und verwendet, aber kann ich stattdessen auch eine Datei verwenden?

Wie kann ich eine Auslagerungsdatei auf einem Linux-System erstellen?

LinuxSecurityFreak
quelle

Antworten:

18

Es sei klargestellt, dass beim Umgang mit einer Datei anstelle einer Partition ein wenig Aufwand entsteht.

Außerdem habe ich selbst auf mehreren Computern eine Auslagerungsdatei auf mdadmRAID, daher gibt es noch einen weiteren Overhead. Wenn Sie jedoch mit vm.swappinessBedacht einen akzeptableren Wert als 60 einstellen , der die Standardeinstellung ist, sollten Sie kein Problem haben.

Zum Beispiel habe ich 32 GB RAM-Server mit 32 GB Swap-Datei auf RAID6 mit vm.swappiness= 1. Zitieren der Wikipedia:

vm.swappiness = 1: Kernel Version 3.5 und höher sowie Red Hat Kernel Version 2.6.32-303 und höher: Minimale Menge an Swapping, ohne es vollständig zu deaktivieren.

In diesem Beispiel erstellen wir eine Auslagerungsdatei:

  • 8 GB groß

  • Gelegen in /raid1/

Ändern Sie diese beiden Dinge entsprechend Ihren Anforderungen.

  1. Öffnen Sie das Terminal und werden Sie root( su); Wenn Sie sudoaktiviert haben, können Sie dies beispielsweise auch tun sudo -i. siehe man sudofür alle Optionen):

    sudo -i
    
  2. Zuweisen von Speicherplatz für die Auslagerungsdatei:

    dd if=/dev/zero of=/raid1/swapfile bs=1G count=8
    

    Wenn Ihr System dies unterstützt, können Sie status=progressdiese Befehlszeile optional hinzufügen .

    Beachten Sie, dass die hier angegebene Größe Gin GiB (Vielfache von 1024) angegeben ist.

  3. Ändern Sie die Berechtigungen der Auslagerungsdatei so, dass nur rootdarauf zugegriffen werden kann:

    chmod 600 /raid1/swapfile
    
  4. Machen Sie diese Datei zu einer Auslagerungsdatei:

    mkswap /raid1/swapfile
    
  5. Aktivieren Sie die Auslagerungsdatei:

    swapon /raid1/swapfile
    
  6. Überprüfen Sie, ob die Auslagerungsdatei verwendet wird:

    cat /proc/swaps
    
  7. Öffnen Sie einen Texteditor, mit dem Sie mit dieser Datei vertraut sind, z. B. nanowenn Sie sich nicht sicher sind:

    nano /etc/fstab
    
  8. Fügen Sie die folgende Zeile hinzu, um diese Auslagerungsdatei nach dem Neustart verfügbar zu machen:

    /raid1/swapfile        none        swap        sw        0        0
    
LinuxSecurityFreak
quelle