Contenu | Rechercher | Menus

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 09/08/2016, 19:34]
105.108.147.43 [Taille d'un espace d'échange]
swap [Le 04/11/2017, 15:10] (Version actuelle)
90.37.35.120 [Une partition swap cryptée]
Ligne 8: Ligne 8:
 Par défaut, Ubuntu calcule et s'​attribue automatiquement un espace d'​échange suffisant ou recommandé lors de son installation. Il n'est pas nécessaire d'​effectuer des tâches supplémentaires pour assigner un espace d'​échange minimum à Ubuntu. Cependant, évaluer ses besoins en espace d'​échange peut mieux rationaliser vos ressources. Par défaut, Ubuntu calcule et s'​attribue automatiquement un espace d'​échange suffisant ou recommandé lors de son installation. Il n'est pas nécessaire d'​effectuer des tâches supplémentaires pour assigner un espace d'​échange minimum à Ubuntu. Cependant, évaluer ses besoins en espace d'​échange peut mieux rationaliser vos ressources.
  
-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 **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'​utiliser,​ il 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>​
  
 ===== Qu'​est-ce qu'un espace d'​échange ? ===== ===== Qu'​est-ce qu'un espace d'​échange ? =====
Ligne 23: Ligne 23:
 ===== Taille d'un espace d'​échange ===== ===== Taille d'un espace d'​échange =====
 Il n'y a pas à proprement parler qu'une seule règle définissant la quantité d'​espace à allouer à la zone d'​échange,​ qu'​elle soit sous forme de partitions ou de fichiers. Beaucoup de conditions entrent dans les facteurs influençant ce choix. Cependant, compte tenu des capacités des ordinateurs modernes, on peut relever [[:​tutoriel:​partitionner_manuellement_avec_installateur_ubuntu#​partitions_indispensables|des recommandations généralement acceptées]] :  Il n'y a pas à proprement parler qu'une seule règle définissant la quantité d'​espace à allouer à la zone d'​échange,​ qu'​elle soit sous forme de partitions ou de fichiers. Beaucoup de conditions entrent dans les facteurs influençant ce choix. Cependant, compte tenu des capacités des ordinateurs modernes, on peut relever [[:​tutoriel:​partitionner_manuellement_avec_installateur_ubuntu#​partitions_indispensables|des recommandations généralement acceptées]] : 
-  * **Votre ordinateur dispose de Gio de RAM ou plus ?** Allouez un espace d'​échange de 1× à 1,5× la taille de votre RAM ; +  * **Votre ordinateur dispose de Gio de RAM ou plus ** Allouez un espace d'​échange ​ égal à 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. +  * **Votre ordinateur dispose de 1 Gio de RAM a 4  Gio ** Allouez un espace d'​échange de 1× à 1,5× la taille de votre RAM ; 
-tj+  * **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 41: 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).
  
  
 ==== 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. 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 : 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 :
-<​code>​swapon -s</​code>​+<​code ​bash>swapon -s</​code>​
  
 Le terminal vous affiche le résultat de cette commande sous forme de tableau. Ce tableau retourne les informations suivantes : Le terminal vous affiche le résultat de cette commande sous forme de tableau. Ce tableau retourne les informations suivantes :
Ligne 56: 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 66: Ligne 69:
 Afin d'​ajouter davantage d'​espace d'​échange utilisable par votre système Ubuntu, nous vous recommandons la création de fichiers d'​échange. Afin d'​ajouter davantage d'​espace d'​échange utilisable par votre système Ubuntu, nous vous recommandons la création de fichiers d'​échange.
  
-Les fichiers d'​échange ont quelques avantages par rapport aux partitions d'​échange. ​D'​abord, 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 ​au repartitionnement ​d'un disque dur. De cette facilité, 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.+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. \\  
 +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.
  
 Cependant, un fichier d'​échange __ne__ peut __pas__ être utilisé dans le cadre d'une mise en veille prolongée (hibernation). Pour cette utilisation,​ il vous faudra attribuer l'​espace d'​échange sous forme de partitions. Cependant, un fichier d'​échange __ne__ peut __pas__ être utilisé dans le cadre d'une mise en veille prolongée (hibernation). Pour cette utilisation,​ il vous faudra attribuer l'​espace d'​échange sous forme de partitions.
Ligne 72: Ligne 77:
 **Pour créer un fichier d'​échange :** **Pour créer un fichier d'​échange :**
   - Depuis un compte d'​administrateur,​ ouvrez un [[terminal]] ;   - Depuis un compte d'​administrateur,​ ouvrez un [[terminal]] ;
-  - Utilisez ''​fallocate''​ pour réserver un bloc d'​espace disque à attribuer à votre espace d'​échange : <​code>​sudo fallocate -l <taille du fichier en octets> <nom du fichier></​code>​+  - Utilisez ''​fallocate''​ pour réserver un bloc d'​espace disque à attribuer à votre espace d'​échange : 
 + <​code ​bash>sudo fallocate -l <taille du fichier en octets> <nom du fichier></​code>​
     * Le paramètre **-l** indique la taille (//​length//​) en octets qui doit être réservée pour l'​espace d'​échange. ''​fallocate''​ reconnaît aussi quelques suffixes, tels ''​m''​ et ''​g'',​ pour préciser des tailles en mibi-octets ou gibioctets. Par exemple, pour réserver 512 Mio, indiquez ''​512m''​ ; pour réservez 1 Gio, indiquer ''​1g''​ ;     * Le paramètre **-l** indique la taille (//​length//​) en octets qui doit être réservée pour l'​espace d'​échange. ''​fallocate''​ reconnaît aussi quelques suffixes, tels ''​m''​ et ''​g'',​ pour préciser des tailles en mibi-octets ou gibioctets. Par exemple, pour réserver 512 Mio, indiquez ''​512m''​ ; pour réservez 1 Gio, indiquer ''​1g''​ ;
     * Le nom du fichier doit contenir le chemin absolu vers l'​emplacement de celui-ci. Sinon, il sera créé dans le répertoire courant ;     * Le nom du fichier doit contenir le chemin absolu vers l'​emplacement de celui-ci. Sinon, il sera créé dans le répertoire courant ;
-    * //Exemple :// pour créer un fichier de 512 Mio nommé ''​file.swap''​ et situé à la racine d'​Ubuntu,​ on utilisera la commande suivante : <​code>​sudo fallocate -l 512m /​file.swap</​code>​Consultez le manuel de ''​fallocate''​ (''​[[http://​manpages.ubuntu.com/​manpages/​precise/​fr/​man1/​fallocate.1.html|man fallocate]]''​) pour plus d'​informations.  +    * //Exemple :// pour créer un fichier de 512 Mio nommé ''​file.swap''​ et situé à la racine d'​Ubuntu,​ on utilisera la commande suivante :  
-  - Modifiez les permissions sur cet espace afin qu'il ne soit directement lisible que par le système. Utilisez la commande ''​chmod''​ : <​code>​sudo chmod 600 <nom du fichier></​code>​+<​code ​bash>sudo fallocate -l 512m /​file.swap</​code>​ 
 +Consultez le manuel de ''​fallocate''​ (''​[[http://​manpages.ubuntu.com/​manpages/​precise/​fr/​man1/​fallocate.1.html|man fallocate]]''​) pour plus d'​informations.  
 +  - Modifiez les permissions sur cet espace afin qu'il ne soit directement lisible que par le système. Utilisez la commande ''​chmod''​ :  
 +<​code ​bash>sudo chmod 600 <nom du fichier></​code>​
     * Encore une fois, ''<​nom du fichier>''​ représente le nom du fichier qui vient d'​être créé, avec son chemin absolu si nécessaire ;     * Encore une fois, ''<​nom du fichier>''​ représente le nom du fichier qui vient d'​être créé, avec son chemin absolu si nécessaire ;
-    * Par exemple, pour changer les permissions sur le fichier ''​file.swap''​ situé à la racine d'​Ubuntu,​ on utilisera la commande suivante : <​code>​sudo chmod 600 /​file.swap</​code>​ +    * Par exemple, pour changer les permissions sur le fichier ''​file.swap''​ situé à la racine d'​Ubuntu,​ on utilisera la commande suivante :  
-  - Définissez ce fichier en tant qu'​espace d'​échange. Pour ce faire, utilisez la commande ''​mkswap''​ : <​code>​sudo mkswap <nom du fichier></​code>​ +<​code ​bash>sudo chmod 600 /​file.swap</​code>​ 
-    * Par exemple, pour définir un espace d'​échange sur le fichier ''​file.swap''​ situé à la racine d'​Ubuntu,​ on utilisera la commande suivante : <​code>​sudo mkswap /​file.swap</​code>​ +  - Définissez ce fichier en tant qu'​espace d'​échange. Pour ce faire, utilisez la commande ''​mkswap''​ :  
-  - Activez la prise en charge de ce nouvel espace d'​échange. Utilisez la commande ''​swapon''​ : <​code>​sudo swapon <nom du fichier></​code>​ +<​code ​bash>sudo mkswap <nom du fichier></​code>​ 
-    * 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>​sudo swapon /​file.swap</​code>​ +    * Par exemple, pour définir un espace d'​échange sur le fichier ''​file.swap''​ situé à la racine d'​Ubuntu,​ on utilisera la commande suivante :  
-  - Rendez disponible le fichier d'​échange à chaque démarrage en éditant le fichier fstab et lui ajoutant : <code>#Entry for /swapfile : +<​code ​bash>sudo mkswap /​file.swap</​code>​ 
-/file.swap none swap defaults 0 0</code>+  - Activez la prise en charge de ce nouvel espace d'​échange. Utilisez la commande ''​swapon''​ :  
 +<​code ​bash>sudo swapon <nom du fichier></​code>​ 
 +    * 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>​ 
 +  - Rendez disponible le fichier d'​échange à chaque démarrage en éditant le fichier ​/etc/fstab et lui ajoutant :  
 +<file bash /etc/fstab> 
 +#Entry for /swapfile : 
 +/file.swap none swap defaults 0 0 
 +</file>
  
  
Ligne 91: Ligne 108:
 ==== Modifier la ou les partitions d'​échange ==== ==== Modifier la ou les partitions d'​échange ====
  
-<note important>​Modifier ​les partitions après l'​installation est toujours une opération ​risquée. Assurez-vous d'​avoir sauvegardé toutes vos données sur un autre support au préalable.</​note>​+<note important>​__Modifier ​les partitions après l'​installation est toujours une opération ​risquée__. Assurez-vous d'​avoir sauvegardé toutes vos données sur un autre support au préalable.</​note>​
  
-<note idée>Si vous avez besoin ​d'​augmenter la taille de votre swap après avoir installé le système, vous prendrez beaucoup moins de risque en créant un fichier de swap plutôt qu'en modifiant le partitionnement de vos disques. LVM est aussi une alternative très souple.</​note>​+<note idée>Si vous avez __besoin ​d'​augmenter la taille de votre swap après avoir installé le système__, vous prendrez beaucoup moins de risque en créant un fichier de swap plutôt qu'en modifiant le partitionnement de vos disques. LVM est aussi une alternative très souple. ​\\ 
 +\\ 
 +Vous pouvez aussi __installer **[[zRam]]** pour augmenter virtuellement la taille de votre swap__ en compressant la RAM non utilisée. \\ 
 +(**Ne fonctionne pas si vous voulez augmenter la taille du Swap pour permettre l'​hibernation**)</​note>​
  
-<note idée>​Vous pouvez aussi installer **[[zRam]]** pour augmenter virtuellement la taille de votre swap en compressant la ram non utilisée. (Ne marche pas si vous voulez augmenter la taille du Swap pour permettre l'​hibernation)</​note>​ 
 === Outils avec interface graphique === === Outils avec interface graphique ===
  
-Vous pouvez utiliser les outils de partitionnement en mode graphique fournis avec Ubuntu : **Gparted** (**Qtparted** pour Kubuntu) pour créer/​modifier/​redimensionner vos partitions, à condition que celles-ci ne soient pas en cours d'​utilisation par le système.+Vous pouvez utiliser les outils de partitionnement en mode graphique fournis avec Ubuntu : \\ 
 +**[[gparted|Gparted]]** (**Qtparted** pour Kubuntu) pour créer/​modifier/​redimensionner vos partitions, à condition que celles-ci ne soient pas en cours d'​utilisation par le système.
  
 Si vous avez besoin de modifier une partition utilisée par le système en permanence, utilisez un [[live_cd|live-cd]]. Si vous avez besoin de modifier une partition utilisée par le système en permanence, utilisez un [[live_cd|live-cd]].
Ligne 106: Ligne 126:
 === Outils en ligne de commande === === Outils en ligne de commande ===
  
-Il existe plusieurs outils en ligne de commande pour gérer vos partitionsles plus connus étant **fdisk** et **cfdisk**. Ces outils s'​utilisent avec les mêmes précautions et restrictions que celles indiquées ci-dessus pour gparted.+Il existe plusieurs outils en ligne de commande pour gérer vos partitions ​les plus connus étant **fdisk** et **cfdisk**. ​\\ 
 +Ces outils s'​utilisent avec les mêmes précautions et restrictions que celles indiquées ci-dessus pour Gparted.
  
 ==== Activer/​Désactiver l'​utilisation du swap ==== ==== Activer/​Désactiver l'​utilisation du swap ====
Ligne 132: Ligne 153:
 La commande **mkswap** permet de définir une partition ou un fichier comme espace d'​échange. Exemple pour définir la partition /dev/sda6 comme partition d'​échange : La commande **mkswap** permet de définir une partition ou un fichier comme espace d'​échange. Exemple pour définir la partition /dev/sda6 comme partition d'​échange :
  
-<​code>​+<​code ​bash>
 sudo mkswap /dev/sda6 sudo mkswap /dev/sda6
 </​code>​ </​code>​
  
 Vous pouvez ensuite activer la partition d'​échange avec :  Vous pouvez ensuite activer la partition d'​échange avec : 
-<​code>​+<​code ​bash>
 sudo swapon /dev/sda6 sudo swapon /dev/sda6
 </​code>​ </​code>​
  
 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 :
-<code>+<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
-</code>+</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 : 
-<code>+<file bash /​etc/​initramfs-tools/​conf.d/​resume>
 RESUME=UUID=db245df9-851d-695b-a3f7-d40f039a6cc6 RESUME=UUID=db245df9-851d-695b-a3f7-d40f039a6cc6
-</code>+</file>
 et ensuite, le faire prendre en compte par le système : et ensuite, le faire prendre en compte par le système :
-<​code>​+<​code ​bash>
 sudo update-initramfs -u -k $(uname -r) sudo update-initramfs -u -k $(uname -r)
 </​code>​ </​code>​
 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 <​code>​sudo blkid /​dev/​sda6</​code></​note>​+<​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>​
  
-<​note>​L'​UUID de la partition peut-être réécrite en employant la commande **mkswap**: <​code>​sudo mkswap -U <​l'​UUID desirée>​ /​dev/<​votre partition></​code></​note>​+<​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>​
  
  
 <note important>​ <note important>​
-La page anglophone [[https://​help.ubuntu.com/​community/​SwapFaq#​How_do_I_add_more_swap.3F]] 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 :<code>+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 : 
 +<file bash /​etc/​default/​grub>
 GRUB_CMDLINE_LINUX="​resume=UUID=<​votre_uuid>"​ GRUB_CMDLINE_LINUX="​resume=UUID=<​votre_uuid>"​
-</code>Sur mon système (11.04 32 bits) j'ai dû modifier cette ligne (ainsi que /​etc/​initramfs-tools/​conf.d/​resume) et actualiser grub (comme indiqué dans la doc citée), avant de réactualiser initramfs, pour que l'​hibernation fonctionne. Petit détail cependant : mon deuxième //sudo update-initramfs//​ n'​avait pas comme option //-k $(uname -r)//, mais d'​après //man update-initramfs//​ je pense que cela ne devrait pas être la source de la différence de comportement.+</file> 
 +Sur mon système (11.04 32 bits) j'ai dû modifier cette ligne (ainsi que /​etc/​initramfs-tools/​conf.d/​resume) et actualiser grub (comme indiqué dans la doc citée), avant de réactualiser initramfs, pour que l'​hibernation fonctionne. ​\\ 
 +Petit détail cependant : mon deuxième //sudo update-initramfs//​ n'​avait pas comme option //-k $(uname -r)//, mais d'​après //man update-initramfs//​ je pense que cela ne devrait pas être la source de la différence de comportement.
 </​note>​ </​note>​
  
Ligne 179: 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. ​Le vidage ​de la RAM consomme des ressources. Plus le vidage ​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>​
  
-Par défaut, ​Ubuntu ​est réglé de cette façon : +=== Réglage permanent dans Ubuntu ​14.04 et 16.04 ( Systemd )===
  
-À partir de 40% d'​utilisation de la RAM (**donc 60% de libre**), le noyau peut se délester sur la swap.+Régler le déclenchement du swap dès que la mémoire est utilisée a 95%. 
 + 
 +  * Remplacer le 5 dans la ligne de commande ​ **//​vm.swappiness=5//​** ​ par 10 pour déclencher l'​utilisation du swap des 90% d'​utilisation de la mémoire. 
 +  * ** //​vm.vfs_cache_pressure=50//​** ​ permet de garder plus de liens vers les fichiers en mémoire, pour accélérer l’accès aux fichiers. 
 + 
 + 
 + 
 +<code bash>​echo vm.swappiness=5 | sudo tee /​etc/​sysctl.d/​99-swappiness.conf</​code>​ 
 +<​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>​ 
 + 
 + 
 +=== Réglage dans Ubuntu 12.04 === 
 + 
 +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.
  
 On peut le vérifier grâce à la commande : On peut le vérifier grâce à la commande :
-<​code>​+<​code ​bash>
 cat /​proc/​sys/​vm/​swappiness cat /​proc/​sys/​vm/​swappiness
-60 
 </​code>​ </​code>​
 +qui (par défaut, donc) répond "​60"​.\\ \\ 
 Pour changer ce réglage, utilisez la commande ci-dessous : Pour changer ce réglage, utilisez la commande ci-dessous :
  
 (Dans cet exemple, le réglage passe à 20% de RAM inutilisée) (Dans cet exemple, le réglage passe à 20% de RAM inutilisée)
-<​code>​+<​code ​bash>
 sudo sysctl vm.swappiness=20 sudo sysctl vm.swappiness=20
 </​code>​ </​code>​
  
 Ensuite désactivez puis réactivez la swap pour que les changements deviennent actifs : Ensuite désactivez puis réactivez la swap pour que les changements deviennent actifs :
-<​code>​+<​code ​bash>
 sudo swapoff -av sudo swapoff -av
 </​code>​ </​code>​
 La réponse ressemble à : La réponse ressemble à :
-<​code>​+<​code ​bash>
 swapoff sur /​dev/​ramzswap0 swapoff sur /​dev/​ramzswap0
 swapoff sur /dev/sda6 swapoff sur /dev/sda6
 </​code>​ </​code>​
 Puis Puis
-<​code>​+<​code ​bash>
 sudo swapon -av sudo swapon -av
 </​code>​ </​code>​
 La réponse ressemble à : La réponse ressemble à :
-<​code>​+<​code ​bash>
 swapon sur /dev/sda6 swapon sur /dev/sda6
 </​code>​ </​code>​
 +
 +=== Réglage permanent dans Ubuntu 12.04 ===
  
 Pour que ces changements deviennent permanents (à chaque démarrage),​ vous devez [[:​tutoriel:​comment_editer_un_fichier|éditer le fichier]] **/​etc/​sysctl.conf** et y ajouter la ligne suivante : Pour que ces changements deviennent permanents (à chaque démarrage),​ vous devez [[:​tutoriel:​comment_editer_un_fichier|éditer le fichier]] **/​etc/​sysctl.conf** et y ajouter la ligne suivante :
-<​code>​vm.swappiness=20</​code>​ +<​code ​bash>​vm.swappiness=20</​code>​ 
-ou en une seule fois en utilisant la commande: <​code>​echo vm.swappiness=20 | sudo tee -a /​etc/​sysctl.conf</​code>​+ou en une seule fois en utilisant la commande: 
 + <​code ​bash>echo vm.swappiness=20 | sudo tee -a /​etc/​sysctl.conf</​code>​
  
 <note tip> <note tip>
Ligne 224: Ligne 268:
   * 2 à 3 Gio de RAM = 5 à 10   * 2 à 3 Gio de RAM = 5 à 10
   * PC avec SSD rapides = 15 à 20   * PC avec SSD rapides = 15 à 20
-  * Anciennes machines, disques ​et SSD lents = à 5.+  * Anciennes machines, disques lents = à 5
 +</​note>​ 
 +<note warning>​Paramétrer la commande ''​swappiness''​ à zéro, est tout à fait possible. \\ Toutefois, cette 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]]
 // //
  
 ---- ----


Le contenu de ce wiki est sous licence : CC BY-SA v3.0