Ajouter un fichier de Swap sous Linux
On va par exemple créer le fichier file.swap d’une taille de 512Mo à l’aide de la commande suivante :
[root@test tmp]# dd if=/dev/zero of=file.swap bs=1024 count=512000 512000+0 records in 512000+0 records out 524288000 bytes (524 MB) copied, 2.26171 s, 232 MB/s
Explication : la commande dd crée et copie des zéros dans le fichier file.swap contenant 512000 blocs de 1024 octets chacun, soit un fichier approximatif de 512 Mo (voir 524 Mo).
On utilise à présent « mkswap » pour formater le fichier en tant qu’espace d’échange ou de « swap » :
[root@test tmp]# mkswap -f file.swap
On peut maintenant ajouter ce fichier d’échange (« swapon -s » pour voir les partitions/fichiers de swap) :
[root@test tmp]# swapon -s
Filename Type Size Used Priority
/dev/dm-0 partition 2097144 0 -1
[root@test tmp]# swapon file.swap
[root@test tmp]# swapon -s
Filename Type Size Used Priority
/dev/dm-0 partition 2097144 0 -1
/tmp/file.swap file 511992 0 -2
Nous pouvons aussi tout aussi bien supprimer le fichier de l’espace d’échange :
[root@test tmp]# swapon -s Filename Type Size Used Priority /dev/dm-0 partition 2097144 0 -1 /tmp/file.swap file 511992 0 -2 [root@test tmp]# swapoff file.swap [root@test tmp]# swapon -s Filename Type Size Used Priority /dev/dm-0 partition 2097144 0 -1
Remarque
Il est donc, grâce à cette méthode, possible d’étendre une partition de swap (impossible à chaud) :
- Créer un fichier d’échange de taille suffisante (au cas où la RAM ne soit pas suffisante)
- L’ajouter à la zone d’échange
- Enlever de la zone d’échange la partition de swap (elle va basculer ce qu’elle contient sur le fichier de swap)
- Étendre cette partition et la rajouter à la zone d’échange
- Enlever de la zone d’échange le fichier de swap (qui va donc tout re-basculer sur la partition)