Dans certains cas, la partitions de swap peut ne pas suffir. Dans ce cas, il est possible de créer des fichiers qui seront utilisés en tant que swap.
Tout d'abord, regardons combien nous avons de swap :
$ free
total used free shared buffers cached
Mem: 255928 252000 3928 0 8464 83232
-/+ buffers/cache: 160304 95624
Swap: 257032 118392 138640
Nous avons ici environ 256 Mo de swap.
Nous allons ajouter 100Mo de swap. Pour celà, nous allons créer un fichier d'une taille de 100Mo :
# dd if=/dev/zero of=/tmp/swap bs=100M count=1 1+0 enregistrements lus 1+0 enregistrements écrits 104857600 octets (105 MB) copiés, 3,11919 seconde, 33,6 MB/s
Ensuite, formattons de fichier au format fat ;
# mkswap /tmp/swap Setting up swapspace version 1, size = 104853 kB no label, UUID=3a627770-b3d6-430b-ab25-8bd5f5d932c5
Et pour finir, ajoutons ce fichier à la swap :
# swapon /tmp/swap
Vérifions que le fichier de swap a été pris en compte :
# free
total used free shared buffers cached
Mem: 255928 250328 5600 0 2528 95680
-/+ buffers/cache: 152120 103808
Swap: 359424 118160 241264
Nous voyons bien que 100Mo de swap ont été ajouté.
Pour désactiver le fichier de swap :
# swapoff /tmp/swap
Du fait que le noyau préfère mettre le cache (données noyau, cache fichiers ...) en Ram quand cela est possible, alors la création d'un swap temporaire n'est pas dans tous les cas nécessaires.
Par exemple, si lors de la mise en hibernation de son système, il s'avère que la mémoire n'est pas suffisante, on pourrait de trois façons différentes :
Pour vider les caches, il faut procéder comme suit :
# sync ; echo 3 > /proc/sys/vm/drop_caches