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?
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 mdadm
RAID, donc il y a encore une autre surcharge. Mais si vous ajustez vm.swappiness
judicieusement à 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.
Ouvrez le terminal et devenez root
( su
); si vous l'avez sudo
activé, vous pouvez également le faire par exemple sudo -i
; voir man sudo
pour toutes les options):
sudo -i
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 G
est en GiB (multiples de 1024).
Modifiez les autorisations du fichier d'échange afin que seul root
puisse y accéder:
chmod 600 /raid1/swapfile
Faites de ce fichier un fichier d'échange:
mkswap /raid1/swapfile
Activez le fichier d'échange:
swapon /raid1/swapfile
Vérifiez si le fichier d'échange est en cours d'utilisation:
cat /proc/swaps
Ouvrez un éditeur de texte que vous maîtrisez avec ce fichier, par exemple en nano
cas de doute:
nano /etc/fstab
Pour rendre ce fichier d'échange disponible après le redémarrage, ajoutez la ligne suivante:
/raid1/swapfile none swap sw 0 0