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
Prochaine révision Les deux révisions suivantes
swap [Le 27/08/2017, 13:59]
78.194.2.45 [Créer un fichier d'échange]
swap [Le 04/11/2017, 15:10]
90.37.35.120 [Une partition swap cryptée]
Ligne 10: Ligne 10:
 Le présent document se veut être une présentation succincte de ce qu'est l'​espace d'​échange dans Ubuntu et des méthodes pour créer, modifier et supprimer cet espace d'​échange. Le présent document se veut être une présentation succincte de ce qu'est l'​espace d'​échange dans Ubuntu et des méthodes pour créer, modifier et supprimer cet espace d'​échange.
  
-<note important>​Depuis la Ubuntu 17.04, la swap n'est plus une partition mais un fichier situé dans /swapfile</​note>​ +<note important>​Depuis la Ubuntu 17.04, la swap n'est plus une partition mais un fichier situé dans /​swapfile ​**sauf ​si une ancienne partition swap est détectée à l'​installation** : dans ce cas, celle-ci est intégrée au fichier /etc/fstab et le fichier /swapfile n'est pas créé. Si une ancienne partition swap existe mais qu'on ne veut pas l'​utiliseril faut configurer ​cette partition swap à l'​installation : cliquer sur la partition swap, et choisir ne pas utiliser cette partition, dans le menu déroulant. Dans ce dernier cas, le fichier /swapfile sera créé. ​</​note>​
-<​note>​Mais ​si une ancienne partition swap est détectée à l'​installation,​ celle-ci est intégrée au fichier /etc/fstab et le fichier /swapfile n'est pas créé,</​note>​ +
----- +
- +
-<​note>​À moins de configurer ​la partition swap à l'​installation:​ +
-cliquer sur la partition swap, et choisir ne pas utiliser cette partition, dans le menu déroulant</​note>​+
  
 ===== Qu'​est-ce qu'un espace d'​échange ? ===== ===== Qu'​est-ce qu'un espace d'​échange ? =====
Ligne 32: Ligne 27:
   * **Votre ordinateur dispose de moins de 1 Gio de RAM ** Allouez un espace d'​échange de 1,5× à 2× la taille de votre RAM.   * **Votre ordinateur dispose de moins de 1 Gio de RAM ** Allouez un espace d'​échange de 1,5× à 2× la taille de votre RAM.
 ==== Pourquoi ai-je besoin d'un espace d'​échange ? ==== ==== Pourquoi ai-je besoin d'un espace d'​échange ? ====
-  * **Utilisation de programmes exigeants en ressources :** Parfois, des programmes exigent beaucoup de ressources dans votre ordinateur (comme la suite bureautique [[LibreOffice]],​ des jeux tels [[AlienArena]] ou des logiciels de montage vidéo tels [[Cinelerra]]),​ ce qui amène votre ordinateur à nécessiter davantage de ressources que disponibles. Souvent, une partie de la mémoire vive utilisée au chargement de ces programmes n'est réellement exploitée que lors de leur initialisation et n'est plus utilisée par la suite. Le système peut libérer des ressources en déplaçant de telles pages mémoire vers un espace d'​échange dans votre disque dur. +  * **Utilisation de programmes exigeants en ressources :** Parfois, des programmes exigent beaucoup de ressources dans votre ordinateur (comme la suite bureautique [[LibreOffice]],​ des jeux tels [[AlienArena]] ou des logiciels de montage vidéo tels [[Cinelerra]]),​ ce qui amène votre ordinateur à nécessiter davantage de ressources que disponibles. Souvent, une partie de la mémoire vive utilisée au chargement de ces programmes n'est réellement exploitée que lors de leur initialisation et n'est plus utilisée par la suite. ​\\ Le système peut libérer des ressources en déplaçant de telles pages mémoire vers un espace d'​échange dans votre disque dur. 
-  * **Hibernation (mise en veille prolongée) :** La fonction d'​hibernation conserve votre système en l'​état actuel lors de la mise hors-tension de votre ordinateur, ce qui vous permet de reprendre plus rapidement votre travail là où vous l'avez laissé tout en ne consommant pas d'​énergie de votre pile ou de votre alimentation secteur. Techniquement,​ il s'agit d'une copie de l'​ensemble des informations contenues dans la mémoire vive de votre ordinateur vers l'​espace d'​échange de votre disque dur ; pour cette raison, une partition d'​échange au moins aussi grande que la quantité de votre mémoire vive est requise pour profiter de cette fonctionnalité.((L'​implémentation actuelle de l'​hibernation dans Ubuntu (swsusp) ne peut pas utiliser un espace d'​échange d'un fichier d'​échange situé dans un système de fichiers actif.)) +  * **Hibernation (mise en veille prolongée) :** La fonction d'​hibernation conserve votre système en l'​état actuel lors de la mise hors-tension de votre ordinateur, ce qui vous permet de reprendre plus rapidement votre travail là où vous l'avez laissé tout en ne consommant pas d'​énergie de votre pile ou de votre alimentation secteur. ​\\ Techniquement,​ il s'agit d'une copie de l'​ensemble des informations contenues dans la mémoire vive de votre ordinateur vers l'​espace d'​échange de votre disque dur ; pour cette raison, une partition d'​échange au moins aussi grande que la quantité de votre mémoire vive est requise pour profiter de cette fonctionnalité.((L'​implémentation actuelle de l'​hibernation dans Ubuntu (''​swsusp''​) ne peut pas utiliser un espace d'​échange d'un fichier d'​échange situé dans un système de fichiers actif.)) 
-  * **Circonstances imprévues :** Des évènements ​imprévisibles peuvent survenir lors de l'​utilisation de votre système (un programme ayant une fuite de mémoire, une action qui a besoin davantage de mémoire pour un court laps de temps ou une combinaison de ces évènements). Disposer d'un espace d'​échange vous offre un sursis pour localiser le problème ou, à tout le moins, terminer votre travail en cours. +  * **Circonstances imprévues :** Des événements ​imprévisibles peuvent survenir lors de l'​utilisation de votre système (un programme ayant une fuite de mémoire, une action qui a besoin davantage de mémoire pour un court laps de temps ou une combinaison de ces événements). \\ Disposer d'un espace d'​échange vous offre un sursis pour localiser le problème ou, à tout le moins, terminer votre travail en cours. 
-  * **Cache mémoire :** Puisque l'​accès aux fichiers de votre disque dur est plus lent que ceux placés en mémoire vive, le noyau Linux place en cache dans la mémoire vive les fichiers ouverts. Ceci accélère grandement les traitements. Afin de conserver un maximum d'​espace pour ce cache, une partie de la RAM réservée par les programmes mais non utilisée est déplacée dans l'​espace d'​échange.+  * **Cache mémoire :** Puisque l'​accès aux fichiers de votre disque dur est plus lent que ceux placés en mémoire vive, le noyau Linux place en cache dans la mémoire vive les fichiers ouverts. ​\\ Ceci accélère grandement les traitements. Afin de conserver un maximum d'​espace pour ce cache, une partie de la RAM réservée par les programmes mais non utilisée est déplacée dans l'​espace d'​échange.
  
  
Ligne 46: Ligne 41:
  
 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.
-Cependant dans ce cas, il ne sera pas possible d'​hiberner plusieurs systèmes simultanément (la dernière hibernation écrasera les données de la précédentes).+Cependant dans ce cas, il ne sera pas possible d'​hiberner plusieurs systèmes simultanément (la dernière hibernation écrasera les données de la précédente).
  
  
Ligne 61: Ligne 56:
  
 Voici un exemple du retour de cette commande : Voici un exemple du retour de cette commande :
-<code>​utilisateur@Nomdel'​Ordinateur:​~$ swapon -s+<box 60% classes orange | Commande : 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
-/​file.swap ​                             file 524284 0 -2</​code>+/​file.swap ​                             file 524284 0 -2 
 +</file> 
 +</​box|Terminal>
  
 \\ \\
Ligne 165: Ligne 163:
  
 Pour rendre cette modification permanente vous devrez également modifier votre fichier **/​etc/​fstab** pour y modifier ou ajouter une ligne du type : Pour rendre cette modification permanente vous devrez également modifier votre fichier **/​etc/​fstab** pour y modifier ou ajouter une ligne du type :
-<file /​etc/​fstab>​+<​file ​bash /​etc/​fstab>​
 # /dev/sda6 # /dev/sda6
 UUID=db245df9-851d-695b-a3f7-d40f039a6cc6 none            swap    sw      0      0 UUID=db245df9-851d-695b-a3f7-d40f039a6cc6 none            swap    sw      0      0
Ligne 171: Ligne 169:
  
 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 /​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
 </​file>​ </​file>​
Ligne 190: Ligne 188:
 La page anglophone [[https://​help.ubuntu.com/​community/​SwapFaq#​How_do_I_add_more_swap.3F|How to add more SWAP]] {Comment augmenter la taille du SWAP} donne une version légèrement différente de la procédure pour définir une partition comme partition d'​échange. \\ La page anglophone [[https://​help.ubuntu.com/​community/​SwapFaq#​How_do_I_add_more_swap.3F|How to add more SWAP]] {Comment augmenter la taille du SWAP} donne une version légèrement différente de la procédure pour définir une partition comme partition d'​échange. \\
 En particulier,​ elle conseille de vérifier aussi le fichier de paramètres de grub (**/​etc/​default/​grub**) pour qu'il contienne la ligne : En particulier,​ elle conseille de vérifier aussi le fichier de paramètres de grub (**/​etc/​default/​grub**) pour qu'il contienne la ligne :
-<file /​etc/​default/​grub>​+<​file ​bash /​etc/​default/​grub>​
 GRUB_CMDLINE_LINUX="​resume=UUID=<​votre_uuid>"​ GRUB_CMDLINE_LINUX="​resume=UUID=<​votre_uuid>"​
 </​file>​ </​file>​
Ligne 208: Ligne 206:
 ==== Régler le déclenchement du swap ==== ==== Régler le déclenchement du swap ====
  
-<note tip>​Personnellement,​ pour ma vieille tour (1,4Ghz pour 512 Mio de RAM), j'ai réglé le déclenchement de la swap à 5% de RAM libre. La copie de la RAM vers la swap consomme des ressources. Plus cette copie se déclenchera tard moins les ressources seront utilisées.</​note>​+<note tip>​Personnellement,​ pour ma vieille tour (1,4Ghz pour 512 Mio de RAM), j'ai réglé le déclenchement de la swap à 5% de RAM libre. La copie de la RAM vers la swap consomme des ressources. ​\\ Plus cette copie se déclenchera tard moins les ressources seront utilisées.</​note>​
  
 === Réglage permanent dans Ubuntu 14.04 et 16.04 ( Systemd )=== === Réglage permanent dans Ubuntu 14.04 et 16.04 ( Systemd )===
Ligne 219: Ligne 217:
  
  
-<code bash>​echo vm.swappiness=5 | sudo tee /​etc/​sysctl.d/​99-swappiness.conf +<code bash>​echo vm.swappiness=5 | sudo tee /​etc/​sysctl.d/​99-swappiness.conf</​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>​
  
Ligne 272: Ligne 270:
   * Anciennes machines, disques lents = 2 à 5.   * Anciennes machines, disques lents = 2 à 5.
 </​note>​ </​note>​
-<note warning>Un swappiness à zéro, ​quoique ​possible, est déconseillé ​car il peut geler la machine dans certaines conditions de surchargecf. [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=1997443|cette discussion]].+<note warning>Paramétrer la commande ''​swappiness'' ​à zéro, ​est tout à fait possible. \\ Toutefoiscette manipulation ​est déconseillée, ​car cela augmente fortement le risque de blocage total de la machine dans certaines conditions de surcharge. \\ cf. le fil de discussion ​[[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=1997443|Plantage système inexpliqué]] — Date : 22 octobre 2016.
 </​note>​ </​note>​
 <​note>​ <​note>​
-Les SSD disposant 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|ici]]) .+Les SSD disposant 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>​ </​note>​
 +
 +==== Une partition swap cryptée ====
 +Il est possible d'​encrypter sa partition swap. Il semblerait que cette option s'​active automatiquement dés lors que l'​utilisateur choisit de crypter sa partition home à l'​installation,​ ce qui est recommandé.
 +=== Créer la partition swap ===
 +  * Si la partition swap existe déjà, passer directement à l'​étape suivante.
 +<​code>​
 +$ sudo mkswap /dev/sdaX
 +Setting up swapspace version 1, size = 4194300 KiB
 +no label, UUID=9da9cf5e-2ac7-95b9-6156-a0ecffef2e99
 +$ sudo swapon /dev/sdaX
 +</​code>​
 +=== Encrypter ===
 +* Executer ensuite le script ecryptfs-setup-swap (inclus dans le paquet ecryptfs-utils) :
 +<​code>​
 +$ sudo ecryptfs-setup-swap ​
 +
 +WARNING:
 +An encrypted swap is required to help ensure that encrypted files are not leaked
 +to disk in an unencrypted format.
 +
 +HOWEVER, THE SWAP ENCRYPTION CONFIGURATION PRODUCED BY THIS PROGRAM ​
 +WILL BREAK HIBERNATE/​RESUME ON THIS SYSTEM!
 +
 +NOTE: Your suspend/​resume capabilities will not be affected.
 +
 +Do you want to proceed with encrypting your swap? [y/N]: y
 +
 +INFO: Setting up swap: [/dev/sdaX]
 + * Stopping remaining crypto disks... ​                                   ​
 + * cryptswap1 (stopped)... ​                                               [ OK ]
 + * Starting remaining crypto disks... ​                                   ​
 + * cryptswap1 (starting)..
 + * cryptswap1 (started)... ​                                               [ OK ]
 +INFO: Successfully setup encrypted swap!
 +</​code>​
 +Le script effectue la modification automatique des fichiers crypttab and fstab.
 +
 +* Pour vérifier le résultat :
 +<​code>​
 +$ cat /​etc/​crypttab | grep /dev/sdaX
 +cryptswap1 /dev/sdaX /​dev/​urandom swap,​cipher=aes-cbc-essiv:​sha256
 +$ cat /etc/fstab | grep cryptswap1
 +/​dev/​mapper/​cryptswap1 none swap sw 0 0
 +</​code>​
 +=== Activer et désactiver à volonté ===
 +Les lignes qui suivent permettent de basculer d'une swap normale à une swap cryptée, et vice-versa.
 +
 +== Activation ==
 +<​code>​
 +$ sudo ecryptfs-setup-swap
 +</​code>​
 +Difficile de faire plus simple.
 +== Désactivation ==
 +La démarche est un peu plus complexe. Elle nécessite de désactiver la swap, de supprimer la couche ecryptfs, de reformater la partition en mode swap ordinaire puis de l'​activer (pour mémoire fdisk -l ou blkid vous permettront de retrouver le numéro de la partition qui est du type /dev/sdaN; N étant le numéro de la partition).
 +
 +<​code>​
 +$ sudo swapoff -a
 +$ sudo cryptsetup remove /​dev/​mapper/​cryptswap1
 +$ sudo vim /​etc/​crypttab
 +</​code>​
 +Dans votre éditeur de texte préféré, supprimer la ligne /dev/sdaN puis enregister.
 +<​code>​
 +sudo /​sbin/​mkswap /dev/sdaN
 +sudo swapon /dev/sdaN
 +sudo vim /etc/fstab
 +</​code>​
 +À nouveau dans votre éditeur de texte préféré, supprimer la ligne /​dev/​mapper/​cryptswap1 avec /dev/sdaN puis enregistrer.
 +Redémarrer pour activer la modification.
  
 ===== Voir aussi ===== ===== Voir aussi =====
  
-  * [[https://​help.ubuntu.com/​community/​SwapFaq|Ubuntu Forum SwapFaq]] (en) +  * **(en)** Official Ubuntu Forum ; sujet : [[https://​help.ubuntu.com/​community/​SwapFaq|Questions fréquentes concernant la SWAP]]  
-  ​* [[http://​www.cyberciti.biz/​faq/​linux-add-a-swap-file-howto/​|Linux add a swap file howto]] ​(en)+  * **(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://​www.logilab.org/​blogentry/​29155|Activer et désactiver le cryptage de la swap]]
  
 ---- ----
  
-//​Contributeurs : foustala, laurentb, krop, huit_six, claudiux, SeTtHe, [[utilisateurs:​fnx]],​ [[https://​help.ubuntu.com/​community/​SwapFaq|les contributeurs de la documentation d'​Ubuntu]]+//​Contributeurs : foustala, laurentb, krop, huit_six, claudiux, SeTtHe, [[utilisateurs:​fnx]], ​[[utilisateurs:​eagle08]],​ \\ [[https://​help.ubuntu.com/​community/​SwapFaq|les contributeurs de la documentation d'​Ubuntu]]
 // //
  
 ---- ----
  • swap.txt
  • Dernière modification: Le 29/10/2023, 15:18
  • par ZavezPasVu