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édentes Révision précédente
Prochaine révision
Révision précédente
swap [Le 17/04/2021, 19:42]
Coeur Noir [Modifier la ou les partitions d'échange]
swap [Le 29/10/2023, 15:18] (Version actuelle)
ZavezPasVu [Activer/Désactiver l'utilisation du swap]
Ligne 1: Ligne 1:
-{{tag>​administration système}}+''​Code « machine à écrire »''/​show{{tag>​administration système}}
  
 ---- ----
Ligne 16: Ligne 16:
  
 Notez cependant que l'​espace d'​échange se situant dans votre disque dur, l'​accès aux données contenues dans celui-ci est plus lent que celles contenues directement dans la RAM. De plus, l'​utilisation de l'​espace d'​échange ralentit significativement le système et entraîne une activité permanente du disque dur (bruits de "​grattements"​),​ provoquant une usure prématurée du matériel. De ce fait, l'​espace d'​échange ne doit pas être considéré comme un remplacement de votre mémoire vive physique, mais plutôt comme un mécanisme d'​appoint. Notez cependant que l'​espace d'​échange se situant dans votre disque dur, l'​accès aux données contenues dans celui-ci est plus lent que celles contenues directement dans la RAM. De plus, l'​utilisation de l'​espace d'​échange ralentit significativement le système et entraîne une activité permanente du disque dur (bruits de "​grattements"​),​ provoquant une usure prématurée du matériel. De ce fait, l'​espace d'​échange ne doit pas être considéré comme un remplacement de votre mémoire vive physique, mais plutôt comme un mécanisme d'​appoint.
- 
-<note important>​Les SSD disposent d'un nombre limité de cycles d'​écriture,​ il est déconseillé d'y loger une partition swap ou un fichier d'​échange (voir [[:​ssd_solid_state_drive#​la_partition_d_echange_swap|La partition d'​échange ou SWAP]]) .</​note>​ 
  
 La plupart des systèmes d'​exploitation -- sinon tous -- gèrent un espace d'​échange. Avec les systèmes d'​exploitation de type GNU/Linux, dont fait partie Ubuntu, cette zone d'​échange se présente généralement sous la forme d'une partition de disque dur dédiée à cet effet. À titre comparatif, Microsoft(r) Windows(r) utilise un ou des fichiers dans chacun de ses volumes afin de jouer ce rôle. Il est aussi possible de créer et utiliser des fichiers assurant un espace d'​échange. La plupart des systèmes d'​exploitation -- sinon tous -- gèrent un espace d'​échange. Avec les systèmes d'​exploitation de type GNU/Linux, dont fait partie Ubuntu, cette zone d'​échange se présente généralement sous la forme d'une partition de disque dur dédiée à cet effet. À titre comparatif, Microsoft(r) Windows(r) utilise un ou des fichiers dans chacun de ses volumes afin de jouer ce rôle. Il est aussi possible de créer et utiliser des fichiers assurant un espace d'​échange.
Ligne 45: Ligne 43:
 <note tip>La copie de la RAM vers la swap consomme des ressources. \\ Plus la copie de la RAM se déclenche tard moins les ressources sont utilisées.</​note>​ <note tip>La copie de la RAM vers la swap consomme des ressources. \\ Plus la copie de la RAM se déclenche tard moins les ressources sont utilisées.</​note>​
  
-=== Réglage permanent dans Ubuntu 14.04 à 18.04 ( Systemd )===+=== Réglage permanent dans Ubuntu 14.04 à 18.04 (Systemd)=== 
 + 
 +<note important>​La mention barrée ci-dessous est totalement fausse. Le paramètre //​swapiness//​ est beaucoup plus complexe que cela. Pour simplifier il ne gère pas seulement la tendance du noyau à échanger des pages entre la RAM et le swap, mais surtout l'​équilibre entre le cache disque et l'​utilisation de la mémoire par les applications. **Modifier ce paramètre risque fort d'​être contre-productif et donc de diminuer les performances de votre système au lieu de les améliorer**.\\ 
 +\\ 
 +**Les manipulations présentées de cette section doivent donc absolument être évitées , en particulier pour les versions récentes d' ubuntu y compris la 22.04.** 
 + 
 +Lire : https://​www.howtogeek.com/​449691/​what-is-swapiness-on-linux-and-how-to-change-it/</​note>​ 
 **Par défaut, Ubuntu est réglé de cette façon :** \\ **Par défaut, Ubuntu est réglé de cette façon :** \\
-À partir de 40% d'​utilisation de la RAM (**donc 60% de libre**), le noyau **peut** copier une partie de la RAM dans la swap. \\+<del>À partir de 40% d'​utilisation de la RAM (**donc 60% de libre**), le noyau **peut** copier une partie de la RAM dans la swap.</​del> ​\\ 
 On peut le vérifier grâce à la commande : On peut le vérifier grâce à la commande :
 <code bash>cat /​proc/​sys/​vm/​swappiness</​code>​ <code bash>cat /​proc/​sys/​vm/​swappiness</​code>​
-qui avec les réglages par défaut, répond "​60"​. ​\\ \\ +qui avec les réglages par défaut, répond "​60"​. \\
  
-===Régler le déclenchement du fichier d'​échange dès que la mémoire est utilisée ​95%===+===Régler le déclenchement du fichier d'​échange dès que la mémoire est utilisée ​à 95%===
  
 L'​application de cette procédure avec une valeur faible du swappiness n'est pas conseillée : L'​application de cette procédure avec une valeur faible du swappiness n'est pas conseillée :
Ligne 70: Ligne 76:
 <​code>​echo vm.vfs_cache_pressure=50 | sudo tee -a /​etc/​sysctl.d/​99-swappiness.conf <​code>​echo vm.vfs_cache_pressure=50 | sudo tee -a /​etc/​sysctl.d/​99-swappiness.conf
 sudo sysctl -p /​etc/​sysctl.d/​99-swappiness.conf</​code>​ sudo sysctl -p /​etc/​sysctl.d/​99-swappiness.conf</​code>​
 +Puis il faut demander une actualisation du service ( depuis ​ une mise à jour du noyau  20.04)
 +<​code>​sudo service procps restart</​code> ​
 +
 Il faut désactiver et réactiver l'​utilisation du fichier d'​échange pour que les réglages deviennent actifs immédiatement : Il faut désactiver et réactiver l'​utilisation du fichier d'​échange pour que les réglages deviennent actifs immédiatement :
 <code bash>​sudo swapoff -av <code bash>​sudo swapoff -av
Ligne 83: Ligne 92:
  
  
-==== Utiliser ​le même fichier ​d'​échange entre plusieurs systèmes ====+ 
 + 
 +==== Utiliser ​la même partition ​d'​échange entre plusieurs systèmes ====
  
 Il est possible d'​utiliser la même partition SWAP pour plusieurs distributions Linux installées en multi-boot sur le même PC. Il est possible d'​utiliser la même partition SWAP pour plusieurs distributions Linux installées en multi-boot sur le même PC.
Ligne 90: Ligne 101:
  
 ==== Vérifier les espaces d'​échange activés et leur niveau utilisation ==== ==== Vérifier les espaces d'​échange activés et leur niveau utilisation ====
-**Plus d'un espace d'​échange peuvent être affectés à votre système Ubuntu.** ​\\ +**Plus d'un espace d'​échange peuvent être affectés à votre système Ubuntu.**
 De plus, chacun de ces espaces peut être utilisé de manière inégale. Pour connaître les espaces d'​échange actuellement activés dans votre système Ubuntu et leur niveau d'​utilisation,​ utilisez la commande ''​swapon''​ de la façon suivante : De plus, chacun de ces espaces peut être utilisé de manière inégale. Pour connaître les espaces d'​échange actuellement activés dans votre système Ubuntu et leur niveau d'​utilisation,​ utilisez la commande ''​swapon''​ de la façon suivante :
 <code bash>​swapon -s</​code>​ <code bash>​swapon -s</​code>​
Ligne 97: Ligne 108:
   * //​Filename//​ : le nom du fichier ou de la partition utilisée en tant qu'​espace d'​échange ;   * //​Filename//​ : le nom du fichier ou de la partition utilisée en tant qu'​espace d'​échange ;
   * //Type// : le type d'​espace d'​échange (un fichier [//file//] ou une partition de disque dur [//​partition//​]) ;   * //Type// : le type d'​espace d'​échange (un fichier [//file//] ou une partition de disque dur [//​partition//​]) ;
-  * //Size// : la taille réservée à cet espace d'​échange,​ en octets ​+  * //Size// : la taille réservée à cet espace d'​échange,​ en kibioctets ​
-  * //Used// : la quantité d'​espace utilisée dans cet espace d'​échange,​ en octets ​;+  * //Used// : la quantité d'​espace utilisée dans cet espace d'​échange,​ en kibioctets ​;
   * //​Priority//​ : la priorité d'​utilisation de cet espace d'​échange. Un espace ayant une plus haute priorité sera utilisé en premier.   * //​Priority//​ : la priorité d'​utilisation de cet espace d'​échange. Un espace ayant une plus haute priorité sera utilisé en premier.
  
 Voici un exemple du retour de cette commande : Voici un exemple du retour de cette commande :
 <box 60% classes orange | Commande : swapon -s> <box 60% classes orange | Commande : swapon -s>
-<​file>​utilisateur@Nomdel'​Ordinateur:​~$ swapon -s +<​file>​utilisateur@Nomdel'​Ordinateur:​~$ swapon -s
 Filename Type Size Used Priority Filename Type Size Used Priority
 /​dev/​sda3 ​                              ​partition 5241852 0 -1 /​dev/​sda3 ​                              ​partition 5241852 0 -1
Ligne 110: Ligne 121:
 </​box|Terminal>​ </​box|Terminal>​
  
 +**NB** : l'​option "​-s"​ est obsolète. Utiliser "​-​-show"​ qui affiche un résultat mieux formaté. Exemple :
 +
 +  [user@host~} swapon --show
 +  NAME      TYPE      SIZE   USED PRIO
 +  /dev/sda5 partition 2,3G 365,​9M ​  -2
 \\ \\
  
Ligne 118: Ligne 134:
  
 Les fichiers d'​échange ont quelques avantages par rapport aux partitions d'​échange. \\ Les fichiers d'​échange ont quelques avantages par rapport aux partitions d'​échange. \\
-Pour commencer, leur ajout ou suppression n'a pas d'​impact sur la table des partitions du disque dur, ce qui limite les possibles pertes de données liées à la modification à posteriori du système de partitions d'un disque dur. Par conséquent,​ il est aisé d'​attribuer à la volée plus ou moins d'​espace d'​échange selon les besoins, qu'ils soient temporaires ou non. \\ +Pour commencer, leur ajout ou suppression n'a pas d'​impact sur la table des partitions du disque dur, ce qui limite les possibles pertes de données liées à la modification à posteriori du système de partitions d'un disque dur. Par conséquent,​ il est aisé d'​attribuer à la volée plus ou moins d'​espace d'​échange selon les besoins, qu'ils soient temporaires ou non.
 Enfin, même s'ils sont stockés dans un système de fichiers, les fichiers d'​échange sont exploités directement par le noyau Linux; l'​utilisation d'un espace d'​échange,​ sous forme de partition ou de fichier, devrait être identique quant aux performances. Enfin, même s'ils sont stockés dans un système de fichiers, les fichiers d'​échange sont exploités directement par le noyau Linux; l'​utilisation d'un espace d'​échange,​ sous forme de partition ou de fichier, devrait être identique quant aux performances.
  
Ligne 143: Ligne 159:
     * Par exemple, pour activer la prise en charge de l'​espace d'​échange sur le fichier ''​file.swap''​ situé à la racine d'​Ubuntu,​ on utilisera la commande suivante :      * Par exemple, pour activer la prise en charge de l'​espace d'​échange sur le fichier ''​file.swap''​ situé à la racine d'​Ubuntu,​ on utilisera la commande suivante : 
 <code bash>​sudo swapon /​file.swap</​code>​ <code bash>​sudo swapon /​file.swap</​code>​
-  - Rendez disponible le fichier d'​échange à chaque démarrage en éditant le fichier /etc/fstab et lui ajoutant : +  - Rendez disponible le fichier d'​échange à chaque démarrage en éditant le fichier ​''​/etc/fstab'' ​et lui ajoutant : 
 <file bash /​etc/​fstab>​ <file bash /​etc/​fstab>​
 #Entry for /swapfile : #Entry for /swapfile :
Ligne 151: Ligne 167:
 Et commentez la ligne qui concerne l'​ancienne partition swap que vous pourrez désormais supprimer. Et commentez la ligne qui concerne l'​ancienne partition swap que vous pourrez désormais supprimer.
  
-  - Commentez l'​ancienne entrée de la partition swap du fichier /​etc/​initramfs-tools/​conf.d/​resume ​ +  - Commentez l'​ancienne entrée de la partition swap du fichier ​''​/​etc/​initramfs-tools/​conf.d/​resume'' ​
 <file bash /​etc/​initramfs-tools/​conf.d/​resume>​ <file bash /​etc/​initramfs-tools/​conf.d/​resume>​
 #​RESUME=UUID=1e1ebf39-2de7-4181-a504-4e317fd8db9c #​RESUME=UUID=1e1ebf39-2de7-4181-a504-4e317fd8db9c
 </​file>​ </​file>​
  
-<note tip>Pour la création d'un fichier swap sur un HDD qui est monté sur un SDD (par exemple sous /home), créez le fichier swap sous le point de montage (par exemple /​home/​file.swap) et assurez vous que dans le fichier /etc/fstab, la ligne concernant le swapfile se trouve après la ligne qui indique le montage du disque HDD.</​note>​+<note tip>Pour la création d'un fichier swap sur un HDD qui est monté sur un SDD (par exemple sous ''​/home''​), créez le fichier swap sous le point de montage (par exemple ​''​/​home/​file.swap''​) et assurez vous que dans le fichier ​''​/etc/fstab''​, la ligne concernant le swapfile se trouve après la ligne qui indique le montage du disque HDD.</​note>​
  
 **Pour supprimer un fichier d'​échange :** **Pour supprimer un fichier d'​échange :**
Ligne 206: Ligne 222:
  
 <note tip> <note tip>
-Si votre swap est utilisé alors qu'il y a encore de la place dans la RAM, il est possible de le vider avec la commande :+Si votre swap est utilisé alors qu'il y a encore de la place dans la RAM, il est possible de le vider en le désactivant ​avec la commande :
 <​code>​ <​code>​
 sudo swapoff -a sudo swapoff -a
 </​code>​ </​code>​
 +On peut ensuite réactiver le swap avec la commande :
 +<​code>​
 +sudo swapon -a
 +</​code>​
 +Ainsi le swap sera vidé mais toujours disponible en cas de besoin.
 </​note>​ </​note>​
  
Ligne 220: Ligne 241:
 </​code>​ </​code>​
  
-Vous pouvez ensuite activer la partition d'​échange avec : +Vous pouvez ensuite activer la partition d'​échange avec :
 <code bash> <code bash>
 sudo swapon /dev/sda6 sudo swapon /dev/sda6
Ligne 231: Ligne 252:
 </​file>​ </​file>​
  
-Et afin que vos mises en veille et hibernations se produisent correctement,​ vous devrez de même modifier le fichier **/​etc/​initramfs-tools/​conf.d/​resume** pour y renseigner le bon UUID : +Et afin que vos mises en veille et hibernations se produisent correctement,​ vous devrez de même modifier le fichier **/​etc/​initramfs-tools/​conf.d/​resume** pour y renseigner le bon UUID :
 <file bash /​etc/​initramfs-tools/​conf.d/​resume>​ <file bash /​etc/​initramfs-tools/​conf.d/​resume>​
 RESUME=UUID=db245df9-851d-695b-a3f7-d40f039a6cc6 RESUME=UUID=db245df9-851d-695b-a3f7-d40f039a6cc6
Ligne 241: Ligne 262:
 Il vaut mieux, après cela, redémarrer la machine. Il vaut mieux, après cela, redémarrer la machine.
  
-<​note>​L'​UUID de la partition a dû être affiché par la commande **mkswap**, sinon vous pouvez l'​obtenir avec la commande ​+<​note>​L'​UUID de la partition a dû être affiché par la commande **mkswap**, sinon vous pouvez l'​obtenir avec la commande
 <code bash>​sudo blkid /​dev/​sda6</​code></​note>​ <code bash>​sudo blkid /​dev/​sda6</​code></​note>​
  
-<​note>​L'​UUID de la partition peut-être réécrite en employant la commande **mkswap**: ​+<​note>​L'​UUID de la partition peut-être réécrite en employant la commande **mkswap**:
 <code bash>​sudo mkswap -U <​l'​UUID desirée>​ /​dev/<​votre partition></​code></​note>​ <code bash>​sudo mkswap -U <​l'​UUID desirée>​ /​dev/<​votre partition></​code></​note>​
  
Ligne 306: Ligne 327:
 * Pour vérifier le résultat : * Pour vérifier le résultat :
 <​code>​ <​code>​
-cat /​etc/​crypttab | grep /dev/sdaX+$ grep -F "/dev/sdaX" /​etc/​crypttab
 cryptswap1 /dev/sdaX /​dev/​urandom swap,​cipher=aes-cbc-essiv:​sha256 cryptswap1 /dev/sdaX /​dev/​urandom swap,​cipher=aes-cbc-essiv:​sha256
-cat /​etc/​fstab ​| grep cryptswap1+grep -F "​cryptswap1" ​/etc/fstab
 /​dev/​mapper/​cryptswap1 none swap sw 0 0 /​dev/​mapper/​cryptswap1 none swap sw 0 0
 </​code>​ </​code>​
Ligne 315: Ligne 336:
  
 == Activation == == Activation ==
-<​code>​ + 
-$ sudo ecryptfs-setup-swap +  $ sudo ecryptfs-setup-swap 
-</​code>​+
 Difficile de faire plus simple. Difficile de faire plus simple.
 == Désactivation == == Désactivation ==
Ligne 338: Ligne 359:
 ===== Voir aussi ===== ===== Voir aussi =====
  
-  * **(en)** Official Ubuntu Forum ; sujet : [[https://​help.ubuntu.com/​community/​SwapFaq|Questions fréquentes concernant la SWAP]] ​+  * **(en)** Official Ubuntu Forum ; sujet : [[https://​help.ubuntu.com/​community/​SwapFaq|Questions fréquentes concernant la SWAP]]
   * **(en)** [[http://​www.cyberciti.biz/​faq/​linux-add-a-swap-file-howto/​|Linux add a swap file howto]] — { Comment ajouter un fichier d'​échange sous Linux } sur le blog Nix Craft — Date : 18 mai 2006 ; mise à jour : 3 mai 2017.   * **(en)** [[http://​www.cyberciti.biz/​faq/​linux-add-a-swap-file-howto/​|Linux add a swap file howto]] — { Comment ajouter un fichier d'​échange sous Linux } sur le blog Nix Craft — Date : 18 mai 2006 ; mise à jour : 3 mai 2017.
   * **Vidéo**: [[https://​www.youtube.com/​watch?​v=NCb4B0DAErc|Comprendre l’intérêt d'une RAM]]   * **Vidéo**: [[https://​www.youtube.com/​watch?​v=NCb4B0DAErc|Comprendre l’intérêt d'une RAM]]
-   * **(en)** [[https://​blog.sleeplessbeastie.eu/​2012/​05/​23/​ubuntu-how-to-encrypt-swap-partition/​|la source pour le cryptage de la swap]] +   * **(en)** [[https://​blog.sleeplessbeastie.eu/​2012/​05/​23/​ubuntu-how-to-encrypt-swap-partition/​|la source pour le chiffrement ​de la swap]]
-   * **(en)** [[https://​www.logilab.org/​blogentry/​29155|Activer et désactiver le cryptage ​de la swap]]+
  
 ---- ----
  • swap.1618681374.txt.gz
  • Dernière modification: Le 17/04/2021, 19:42
  • par Coeur Noir