Mémoire d'échange (swap) - Fichier

Mémoire d'échange (swap) - Fichier

Mise à jour : Debian 9.2

La mémoire d'échange (swap), aussi appelée mémoire cache est un espace mémoire avec deux fonctions :

La mémoire d'échange peut être constituée d'un ou plusieurs espaces disques, ces espaces pouvant être des partitions ou des fichiers dédiés. Dans ce qui suit, on s'intéresse au cas d'une mémoire d'échange constituée d'un fichier situé dans la partition racine.

1 - Installation

# fallocate -l 1G /swapfile
mkswp /swapfile
# nano /etc/fstab
/swapfile none swap defaults 0 0
# swapon /swapfile
swapon: /swapfile : droits 0644 non sûrs, 0600 conseillées.
# chmod 0600 /swapfile

2 - Vérifications

$ cat /proc/swaps
Filename Type Size Used Priority
/swapfile file 2097148 7724 -1

$ free -h
total used free shared buff/cache available
Mem: 7,7G 817M 5,0G 107M 1,9G 6,5G
Swap: 2,0G 7,5M 2,0G

3 - Utilisation

L'utilisation de la swap en complément de la mémoire vive est contrôlée par le paramètre swappiness, compris entre 0 et 100. Lorsque le paramètre est à 0, la swap n'est pas utilisée, lorsque le paramètres est à 100, son utilisation est maximum. Par défaut, ce paramètre est à 60.

# sysctl -w vm.swappiness=1
vm.swappiness = 1
# sysctl vm.swappiness
vm.swappines = 1
# echo vm.swappiness=1 >/etc/sysctl.d/local.conf

Pour supprimer un fichier de swap :

# swapoff /swapfile
# rm /swapfile

4 - Hibernation

Systemd ne prend pas en compte les fichiers d'échange, une solution consiste à utiliser uswsusp voir Arrêt - Redémarrage - Suspension - Hibernation