Contenu | Rechercher | Menus

Différences

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

Lien vers cette vue comparative

Both sides previous revision Révision précédente
Prochaine révision
Révision précédente
swap [Le 17/03/2013, 16:22]
90.26.218.185 [Régler le déclenchement du swap]
swap [Le 23/07/2014, 03:28] (Version actuelle)
203.185.161.40 [Pourquoi ai-je besoin d'un espace d'échange ?]
Ligne 3: Ligne 3:
 ---- ----
  
-====== Espace d'​échange (swap) ======+====== Espace d'​échange (**swap**) ======
 L'​**espace d'​échange**,​ plus généralement appelée par son terme anglais **swap space** ou simplement **swap**, est une zone d'un disque dur faisant partie de la //mémoire virtuelle//​((La mémoire virtuelle est composée de la mémoire vive physique (RAM) et de l'​espace d'​échange.)) de votre ordinateur. Il est utilisé pour décharger la mémoire vive physique (RAM) de votre ordinateur lorsque celle-ci arrive à saturation. L'​espace d'​échange,​ dans Ubuntu, se trouve généralement sous une forme de partition de disque dur -- on parle alors de //partition d'​échange//​. Il peut aussi se présenter sous forme de fichier -- on parle alors de //fichier d'​échange//​. L'​**espace d'​échange**,​ plus généralement appelée par son terme anglais **swap space** ou simplement **swap**, est une zone d'un disque dur faisant partie de la //mémoire virtuelle//​((La mémoire virtuelle est composée de la mémoire vive physique (RAM) et de l'​espace d'​échange.)) de votre ordinateur. Il est utilisé pour décharger la mémoire vive physique (RAM) de votre ordinateur lorsque celle-ci arrive à saturation. L'​espace d'​échange,​ dans Ubuntu, se trouve généralement sous une forme de partition de disque dur -- on parle alors de //partition d'​échange//​. Il peut aussi se présenter sous forme de fichier -- on parle alors de //fichier d'​échange//​.
  
Ligne 27: Ligne 27:
  
 ==== 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 programme ​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.
Ligne 125: Ligne 125:
 </​note>​ </​note>​
  
-=== Définir une partition comme partition d'​échange ===+==== Définir une partition 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 : 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 :
Ligne 155: Ligne 155:
  
 <​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>​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 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 parametres ​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]] 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>​
 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 ​du 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.+</​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.
 </​note>​ </​note>​
  
Ligne 212: Ligne 214:
 <​code>​vm.swappiness=20</​code>​ <​code>​vm.swappiness=20</​code>​
  
-<note tip>Edit par fredr: pour rendre ces changements permanents, vous pouvez utiliser la commande: <​code>​echo vm.swappiness=20 | sudo tee -a /​etc/​sysctl.conf</​code></​note>​ +<note tip>Edit par fredr: pour rendre ces changements permanents, vous pouvez utiliser la commande: <​code>​echo vm.swappiness=20 | sudo tee -a /​etc/​sysctl.conf</​code>​ 
 +</​note>​
  
 <note tip> <note tip>
   * 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 = 0 à 5</​note>​+  * Anciennes machines, disques et SSD lents = 0 à 5 
 +</​note>​
  
 ===== Voir aussi ===== ===== Voir aussi =====


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