Outils pour utilisateurs

Outils du site


sysadmin:linux:swap

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
sysadmin:linux:swap [2020/08/09 20:20] yoannsysadmin:linux:swap [2026/03/01 09:24] (Version actuelle) yoann
Ligne 1: Ligne 1:
-{{tag>sysadmin linux swap todo}}+{{tag>sysadmin linux swap}}
  
  
-====== swap ======+====== Gestion du 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: +Le swap est un espace mémoire complémentaire à la RAM formant la mémoire virtuelle disponible pour le système :
-  * les partitions d'échange; +
-  * les fichiers d'échange.+
  
-Quand c'est possible privilégier l'utilisation de fichier d'échange à la place de partition.+  * Mémoire virtuelle = RAM + SWAP
  
 +Il est utilisé par le système lorsque l'espace commence à manquer en RAM, c'est pourquoi il est important de ne pas le désactiver totalement :
 +  * Cela peut conduire au plantage des applications en cours d'exécution ;
 +  * Un swap modéré et également bénéfique au système : il permet de libérer des espaces peu utilisés en RAM  au profit des mémoires tampons (caches disque et buffers I/O).
 +
 +On cherche cependant toujours à limiter son usage car pour les types de swap se trouvant hors de la RAM, les temps d'accès sont beaucoup plus longs, les performances globales sont dégradées.
 +
 +Sur les versions récentes de GNU/Linux plusieurs formes de swap peuvent coexister:
 +  * les partitions d'échange ;
 +  * les fichiers d'échange ;
 +  * Le zram (système de fichier compressé en RAM).
 +
 +
 +<note>
 Si plusieurs distributions GNU/Linux coexistent, elles peuvent utiliser une même partition d'échange. Si plusieurs distributions GNU/Linux coexistent, elles peuvent utiliser une même partition d'échange.
 +</note>
 +
 +===== Volumétrie et cas d'usage =====
 +
 +:TODO_DOCUPDATE:
 +
 +
 +==== Systèmes virtualisés ====
 +
 +Pour les systèmes virtualisés, privilégier un fichier disque dédié pour la swap. On peut ainsi facilement le redimensionner ou de l'exclure des snapshots.
 +
 +
 +==== Poste de travail ====
 +
 +Pour une station de travail :
 +  * Le zram est une bonne alternative dans la plupart des cas : il sera potentiellement plus sollicité qu'un serveur ;
 +  * Un fichier ou une partition fait aussi l'affaire tout en étant moins performant que zram si le SWAP est utilisé ;
 +  * Pour pouvoir utiliser l'hibernation : un fichier ou partition SWAP de la taille RAM au moins ;
  
 +==== Systèmes embarqués ====
  
-===== Volumétrie d'un espace d'échange =====+Dans des cas spécifiques comme Raspberry Pi : 
 +  * Le zram pour éviter d'écrire sur la carte SD ou un disque connecté en USB ; 
 +  * Ne pas désactiver le SWAP : peut causer des crashs de processus (applications ou processus système)
  
 <note warning> <note warning>
-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.+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 : on privilégie en général le zram.
 </note> </note>
  
Ligne 35: Ligne 67:
  
 ===== Paramétrages du swap ===== ===== Paramétrages du swap =====
 +
 +<note warning>
 +La valeur du paramètre **swapiness** n'a rien à voir avec la quantité de RAM utilisée avant de commencer le processus de swap.
 +</note>
  
 ==== Modifier le seuil d'utilisation 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+La valeur par défaut est souvent définie à 60.
  
-Pour afficher ce paramètre:+:TODO_DOCUPDATE: A valider/reformuler 
 + 
 +Cela signifie que quand il y a moins de 60% d'espace libre en RAM, le système peut commencer à swapper. 
 + 
 +On pourra diminuer cette valeur pour utiliser au mieux la RAM et optimiser les performances : il faut cependant garder en tête que le swap reste nécessaire au bon fonctionnement du système et qu'il n'est pas recommandé en général de le désactiver totalement. 
 + 
 + 
 +Pour afficher la valeur du paramètre :
  
 <code bash> <code bash>
 cat /proc/sys/vm/swappiness cat /proc/sys/vm/swappiness
 </code> </code>
 +
  
 Modification Modification
Ligne 113: Ligne 157:
 echo vm.swappiness=1 | sudo tee /etc/sysctl.d/99-swappiness.conf echo vm.swappiness=1 | sudo tee /etc/sysctl.d/99-swappiness.conf
 </code> </code>
 +
 +Désactiver / réactiver le swap pour prendre en compte les modifcations:
 +<code bash>
 +sudo swapoff -av
 +sudo swapon -av
 +</code>
 +
 +===== 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 ===== ===== Références =====
  
-  * https://doc.ubuntu-fr.org/swap+  * [[https://doc.ubuntu-fr.org/swap|La mémoire SWAP (ubuntu-fr.org)]] 
 +  * [[https://www.linuxtricks.fr/wiki/swap-informations-bonnes-pratiques-configuration|SWAP : information, bonnes pratiques et configuration (linuxtricks.fr)]] 
 +  * [[https://unix.stackexchange.com/questions/137509/allocating-swap-space-with-kvm|Allocation du SWAP pour les VMs KVM (unix.stackexchange.com) (en)]] 
 +  * [[https://www.linuxtricks.fr/wiki/zram-compresser-la-ram-au-lieu-de-swapper-sur-linux|Utiliser le zram (linuxtricks.fr)]] 
 +  * [[https://www.howtogeek.com/449691/what-is-swapiness-on-linux-and-how-to-change-it/|A propos du paramètre swapiness du noyau Linux (howtogeek.com) (en)]] 
sysadmin/linux/swap.1597004418.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)