Comment puis-je créer un fichier d'échange?

11

Je sais comment créer et utiliser une partition de swap mais puis-je également utiliser un fichier à la place?

Comment puis-je créer un fichier d'échange sur un système Linux?

LinuxSecurityFreak
la source

Réponses:

18

Soyons clairs, il y a un peu de surcharge lorsque l'on traite un fichier au lieu d'une partition.

De plus, j'ai moi-même sur plusieurs machines un fichier d'échange sur mdadmRAID, donc il y a encore une autre surcharge. Mais si vous ajustez vm.swappinessjudicieusement à une valeur plus acceptable que 60, qui est la valeur par défaut, vous ne devriez avoir aucun problème.

Par exemple, j'ai un serveur RAM de 32 Go avec un fichier d'échange de 32 Go sur RAID6 avec vm.swappiness= 1. Citant Wikipedia:

vm.swappiness = 1: version 3.5 et ultérieure du noyau, ainsi que la version 2.6.32-303 et supérieure du noyau Red Hat: quantité minimale de permutation sans la désactiver complètement.

Dans cet exemple, nous créons un fichier d'échange:

  • 8 Go de taille

  • Situé dans /raid1/

Modifiez ces deux choses en fonction de vos besoins.

  1. Ouvrez le terminal et devenez root( su); si vous l'avez sudoactivé, vous pouvez également le faire par exemple sudo -i; voir man sudopour toutes les options):

    sudo -i
    
  2. Allouez de l'espace pour le fichier d'échange:

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

    Facultativement, si votre système le prend en charge, vous pouvez ajouter status=progressà cette ligne de commande.

    Notez que la taille spécifiée ici Gest en GiB (multiples de 1024).

  3. Modifiez les autorisations du fichier d'échange afin que seul rootpuisse y accéder:

    chmod 600 /raid1/swapfile
    
  4. Faites de ce fichier un fichier d'échange:

    mkswap /raid1/swapfile
    
  5. Activez le fichier d'échange:

    swapon /raid1/swapfile
    
  6. Vérifiez si le fichier d'échange est en cours d'utilisation:

    cat /proc/swaps
    
  7. Ouvrez un éditeur de texte que vous maîtrisez avec ce fichier, par exemple en nanocas de doute:

    nano /etc/fstab
    
  8. Pour rendre ce fichier d'échange disponible après le redémarrage, ajoutez la ligne suivante:

    /raid1/swapfile        none        swap        sw        0        0
    
LinuxSecurityFreak
la source