Ceci est une ancienne révision du document !
SWAP
Le swap (parfois appelé mémoire virtuelle) est un espace réservé sur le disque dur servant à décharger la mémoire physique (RAM) lorsque celle-ci arrive à saturation. Le swap peut être un fichier, on parle alors de fichier d'échange ou une partition dédiée à cette usage, on parle alors de partition d'échange.
N.B. : Lorsque la mémoire arrive à saturation et que l'espace d'échange commence à être utilisé par les système, celui-ci se trouve fortement ralenti. En effet les échanges de données avec le disque dur sont beaucoup plus lents qu'avec la mémoire physique.
Comparaison entre GNU/Linux et Windows
GNU/Linux
Sous GNU/Linux, le swap correspond généralement à une partition dédiée de taille fixe ayant son propre système de fichier. Sur les distributions récentes comme Ubuntu, une partition de swap est créée automatiquement lors de l'installation. En principe la taille de cette partition est égale à la quantité de mémoire (RAM) installée. On peut également utiliser un fichier d'échange sous GNU/Linux, en plus ou la place d'une partition d'échange.
Windows
Par défaut sous Windows, le swap n'est pas présenté comme une partition : c'est un gros fichier fragmentable géré par Windows. Ce fichier se nomme « Win386.swp » (95, 98, Me) ou « pagefile.sys » (NT, 2000, XP), et est par défaut dans « C: ». Pour modifier sa taille et son emplacement, on peut passer par le panneau de configuration (Système → Performances → Mémoire virtuelle). Attribuer une taille fixe au fichier d'échange de Windows peut éventuellement améliorer les performances.
Taille d'une partition de swap
Sous GNU/Linux
Cela dépend de votre RAM (mémoire vive) et de votre utilisation.
Même si l'on peut complètement se passer de swap, notamment sur des machines ayant beaucoup de RAM, il est conseillé d'utiliser une partition d'échange d'au moins 128Mio. Si votre machine n'a aucun espace de swap et que la mémoire physique arrive à saturation, le système risque de se bloquer complètement.
Il n'y a pas de règle absolue en matière de taille de partition de swap, tout dépend de l'usage que vous faites de votre machine. Cependant, sous Linux la partition de swap est également utilisée pour mettre le système en hibernation : les données en RAM sont copiées dans la partition de swap lors de l'hibernation et restaurées lors du redémarrage. Donc si vous utilisez un ordinateur portable ou que vous voulez utiliser les fonctions d'hibernation, votre partition d'échange doit faire au moins la taille de votre RAM. Enfin, vu la taille des disques dur actuels, rien ne vous empêche de créer une partition de swap de deux fois la taille de votre RAM ; 2Gio par exemple si vous avez 1Gio de RAM. Idéalement, vous devez décider de la taille de vos partitions d'échange au moment de l'installation.
Sous Windows
Sous Windows, c'est géré différemment, on conseille souvent plutôt 1.5x/2x la taille de votre RAM. D'autre part sous Windows certaines applications utilisent leur propre espace d'échange.
Modifier le swap après l'installation (expert)
Outils avec interface graphique
Vous pouvez utiliser les outils de partitionnement en mode graphique fournis avec Ubuntu : Gparted (ou Qtparted pour Kubuntu) pour créer/modifier/redimensionner vos partitions, à condition que celle-cis ne soient pas en cours d'utilisation par le système.
Outils en ligne de commande
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 le swap
Les commandes swapon/swappoff permettent respectivement d'activer ou désactiver le swap sans redémarrage du système. Exemple :
sudo swapoff /dev/sda6
désactivera la partition d'échange présente sur /dev/hda6
sudo swapon /dev/sda6
activera la partition d'échange présente sur /dev/hda6
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 :
sudo mkswap /dev/sda6
Vous pouvez ensuite activer la partition d'échange avec :
sudo swapon /dev/sda6
Pour rendre cette modification permanente vous devrez également modifier votre fichier /etc/fstab pour y modifier ou ajouter une ligne du type :
# /dev/sda6 UUID=db245df9-851d-695b-a3f7-d40f039a6cc6 none swap sw
Définir une fichier comme fichier d'échange
La procédure est presque la même que ci-dessus. Vous devez d'abord créer un fichier non fragmenté avec la commande dd, par exemple pour créer un fichier file.swap dans le répertoire racine, de 512Mio :
sudo dd if=/dev/zero of=/file.swap bs=512M count=1
On définit ensuite ce fichier comme un fichier d'échange :
sudo mkswap /file.swap
Puis on active l'espace d'échange :
sudo swapon /file.swap
Pour rendre cette modification permanente vous devrez également modifier votre fichier /etc/fstab pour y modifier ou ajouter une ligne du type :
# /file.swap UUID=ee43e097-dc53-4635-a21c-4b61bbd8a2f1 none swap sw