Linux: Mettre en place un système d’échange Swap
Nous allons creer un fichier à la racine du systeme via les commandes ci-dessous.
dd if=/dev/zero of=/PATH/FILENAME bs=1024 count=SIZE
chmod 600 /PATH/FILENAME
mkswap /PATH/FILENAME
swapon /PATH/FILENAME
La taille "SIZE" doit etre en kilooctet (par exemple 1048576 est 1 gigaoctet).
Dans notre cas, nous souhaitons avoir 2G de swapp (RAM).
Si la swap (le fichier /swapfile) existe deja il faut la désactiver :
sudo swapoff -a
creation du fichier de 2Go.
sudo dd if=/dev/zero of=/swapfile bs=1024 count=2097152
Ensite on protege et active notre swap:
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon -a
Voir le status :
swapon -s
#or
sudo cat /proc/swaps
Changer la priorité :
sudo swapoff /swapfile
sudo swapon -p 50 /swapfile
sudo swapon -a
Installer zram :
apt install zram-tools
Edit config zram:
sudo nano /etc/default/zramswap
Reload service :
sudo service zramswap reload
Sauvegarder de maniere permanante :
sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sudo mount -a
Le swappinessparamètre configure la fréquence à laquelle votre système échange les données de la RAM vers l'espace d'échange. Il s'agit d'une valeur comprise entre 0 et 100 qui représente un pourcentage.
Avec des valeurs proches de zéro, le noyau n'échangera pas de données sur le disque sauf en cas d'absolue nécessité. N'oubliez pas que les interactions avec le fichier d'échange sont « coûteuses » dans le sens où elles prennent beaucoup plus de temps que les interactions avec la RAM et peuvent entraîner une réduction significative des performances. Dire au système de ne pas trop compter sur le swap rendra généralement votre système plus rapide.
Les valeurs plus proches de 100 tenteront de mettre plus de données en échange afin de conserver plus d'espace RAM libre. En fonction du profil de mémoire de vos applications ou de la raison pour laquelle vous utilisez votre serveur, cela peut être préférable dans certains cas.
Voir la valeur actuelle :
cat /proc/sys/vm/swappiness
Definir une valeur :
sudo sysctl vm.swappiness=10
Definir une valeur de maniere permanente :
Editer le fichier /etc/sysctl.conf et ajouter :
vm.swappiness=10
Loading ...