Créer un fichier d'échange SWAP

Si, lors de l'installation du système, vous avez sous-estimé la taille de la partition d'échange SWAP (il est recommandé d'avoir une partition d'échange SWAP équivalent à la quantité de mémoire vive installée sur le système), il est possible de créer des fichiers supplémentaires post-installation.

Pour l'exemple, je vais créer un fichier SWAP d'1 Go dans le répertoire /mnt (avec le user root)

$ cd /mnt
$ dd if=/dev/zero of=1G.swap bs=1k count=1024000
$ du -sh ./1G.swap
1001M   ./1G.swap
$ chmod 600 /mnt/1G.swap
$ mkswap 1G.swap -f
$ swapon /mnt/1G.swap
$ swapon -s

Explications:

  1. Avec la commande dd, je créé un fichier vide d'1 Go
  2. Avec la commande du, je vérifie la taille de mon fichier créé
  3. Avec la commande chmod, j'autorise la lecture et l'écriture uniquement pour le user root
  4. Avec la commande mkswap, je convertis mon fichier en fichier d'échange SWAP
  5. Avec la commande swapon, j'active mon nouveau fichier d'échange SWAP
  6. Avec la commande swapon et le paramètre -s, je liste tous les fichiers SWAP actifs sur le système

Ajuster la configuration du swap

$ cat /proc/sys/vm/swappiness
60

Par défaut, dès 40% d'utilisation de la RAM (60% de mémoire libre), les données sont écrites dans la swap.

Avec un serveur équipé de 16Go de RAM, il est intéressant de diminuer cette valeur.

$ sysctl vm.swappiness=10

Utilisation de la swap à partir de 90% d'utilisation de la ram.

Pour une modification permanente, éditer le fichier /etc/sysctl.conf

$ echo "vm.swappiness=10" >> /etc/sysctl.conf