{{tag>sysadmin linux swap todo}} ====== swap ====== Le swap est une zone du disque dur faisant partie de la mémoire virtuelle. Il est utilisé en complément de la mémoire RAM. Sur les version récente de GNU/Linux deux formes de swap peuvent coexister: * les partitions d'échange; * les fichiers d'échange. Quand c'est possible privilégier l'utilisation de fichier d'échange à la place de partition. Si plusieurs distributions GNU/Linux coexistent, elles peuvent utiliser une même partition d'échange. ===== Volumétrie d'un espace d'échange ===== Ne créer des espaces d'échange que sur les disques mécaniques. Les SSD ayant un nombre limité d'écritures ne sont pas adaptés pour cet usage. ^ RAM (Go) ^ Taille du swap | | RAM >= 6 | swap = RAM | | 1 < RAM < 4 | swap = 1,5 x la RAM | | RAM < 1 | swap = 2 x RAM | ===== Lister les espaces d'échanges ===== Plusieurs espaces d'échange peuvent être activés sur un même système. Pour les lister: swapon -s ===== Paramétrages du swap ===== ==== Modifier le seuil d'utilisation du swap ==== Par défaut le système est configuré pour permettre l'usage du swap dès 40% d'occupation de la RAM. Pour afficher ce paramètre: cat /proc/sys/vm/swappiness Modification sudo sysctl vm.swappiness=1 # Désactiver/réactiver le swap pour prendre en compte la modif sudo swapoff -av sudo swapon -av Pour rendre la modification permanente, utiliser un fichier de configuration sous **/etc/sysctl.d/** vm.swappiness=1 ===== Création d'un fichier d'échange ===== La création/suppression de fichier d'échange se fait au sein d' un système de fichier. Il n'y a donc pas d'impact sur la table de partitionnement. Cela apporte plus de souplesse et présente moins de risques. Les commandes ci dessous permettent de créer une fichier d'échange: # la commande fallocate réserve un bloc d'espace disque pour le swap sudo fallocate -l 4g /file.swap # modifier les droits d’accès sudo chmod 600 /file.swap # déclarer le fichier comme espace d'échange sudo mkswap /file.swap # activer sudo swapon /file.swap Pour que le fichier soit utilisé à chaque démarrage, modifier le fichier /etc/fstab # Fichier d'échange (swap) /file.swap none swap sw 0 0 ===== Suppression d'un fichier d'échange ===== # désactiver l'espace de swap déclaré sur le fichier sudo swapoff /file.swap # Suppression du fichier sudo rm /file.swap Modifier **/etc/fstab** pour supprimer ou commenter l'entrée relative au fichier de swap. # Désactivation du fichier d'échange (swap) # /file.swap none swap sw 0 0 Modifier le seuil d'utilisation de la mémoire swap (swappiness) echo vm.swappiness=1 | sudo tee /etc/sysctl.d/99-swappiness.conf Désactiver / réactiver le swap pour prendre en compte les modifcations: sudo swapoff -av sudo swapon -av ===== Gestion du swap ===== Le wiki [[sysadmin:linux:effacer-cache-memoire-swap]] détaille les commandes permettant de supprimer les données présentes dans la mémoire d'échange. ===== Références ===== * https://doc.ubuntu-fr.org/swap