Question : J'aimerais ajouter plus d'espace d'échange à mon système Linux. Pouvez-vous expliquer avec des exemples clairs comment augmenter l'espace d'échange ?
Réponse : Vous pouvez soit utiliser une partition de disque dur dédiée pour ajouter un nouvel espace d'échange, soit créer un fichier d'échange sur un système de fichiers existant et l'utiliser comme espace d'échange.
Combien d'espace d'échange est actuellement utilisé par le système ?
La commande Free affiche l'espace d'échange. free -k affiche la sortie en Ko.
# free -k total used free shared buffers cached Mem: 3082356 2043700 1038656 0 50976 1646268 -/+ buffers/cache: 346456 2735900 Swap: 4192956 0 4192956
La commande Swapon avec l'option -s affiche l'espace d'échange actuel en Ko.
# swapon -s Filename Type Size Used Priority /dev/sda2 partition 4192956 0 -1
Swapon -s, est identique à ce qui suit.
# cat /proc/swaps Filename Type Size Used Priority /dev/sda2 partition 4192956 0 -1
Méthode 1 :Utiliser une partition de disque dur pour un espace d'échange supplémentaire
Si vous avez un disque dur supplémentaire (ou de l'espace disponible sur un disque existant), créez une partition à l'aide de la commande fdisk. Supposons que cette partition s'appelle /dev/sdc1
Configurez maintenant cette partition nouvellement créée en tant que zone de swap à l'aide de la commande mkswap comme indiqué ci-dessous.
# mkswap /dev/sdc1
Activez la partition d'échange pour une utilisation à l'aide de la commande swapon comme indiqué ci-dessous.
# swapon /dev/sdc1
Pour rendre cette partition d'espace d'échange disponible même après le redémarrage, ajoutez la ligne suivante au fichier /etc/fstab.
# cat /etc/fstab /dev/sdc1 swap swap defaults 0 0
Vérifiez si la zone d'échange nouvellement créée est disponible pour votre utilisation.
# swapon -s Filename Type Size Used Priority /dev/sda2 partition 4192956 0 -1 /dev/sdc1 partition 1048568 0 -2 # free -k total used free shared buffers cached Mem: 3082356 3022364 59992 0 52056 2646472 -/+ buffers/cache: 323836 2758520 Swap: 5241524 0 5241524
Remarque : Dans la sortie de la commande swapon -s, la colonne Type indiquera "partition" si l'espace d'échange est créé à partir d'une partition de disque.
Méthode 2 :Utiliser un fichier pour un espace d'échange supplémentaire
Si vous n'avez pas de disques supplémentaires, vous pouvez créer un fichier quelque part sur votre système de fichiers et utiliser ce fichier comme espace d'échange.
L'exemple de commande dd suivant crée un fichier d'échange avec le nom "myswapfile" sous le répertoire /root avec une taille de 1024 Mo (1 Go).
# dd if=/dev/zero of=/root/myswapfile bs=1M count=1024 1024+0 records in 1024+0 records out # ls -l /root/myswapfile -rw-r--r-- 1 root root 1073741824 Aug 14 23:47 /root/myswapfile
Modifiez l'autorisation du fichier d'échange afin que seul root puisse y accéder.
# chmod 600 /root/myswapfile
Faites de ce fichier un fichier d'échange à l'aide de la commande mkswap.
# mkswap /root/myswapfile Setting up swapspace version 1, size = 1073737 kB
Activez le fichier d'échange nouvellement créé.
# swapon /root/myswapfile
Pour rendre ce fichier d'échange disponible en tant que zone d'échange même après le redémarrage, ajoutez la ligne suivante au fichier /etc/fstab.
# cat /etc/fstab /root/myswapfile swap swap defaults 0 0
Vérifiez si la zone d'échange nouvellement créée est disponible pour votre utilisation.
# swapon -s Filename Type Size Used Priority /dev/sda2 partition 4192956 0 -1 /root/myswapfile file 1048568 0 -2 # free -k total used free shared buffers cached Mem: 3082356 3022364 59992 0 52056 2646472 -/+ buffers/cache: 323836 2758520 Swap: 5241524 0 5241524
Remarque : Dans la sortie de la commande swapon -s, la colonne Type indique "fichier" si l'espace d'échange est créé à partir d'un fichier d'échange.
Si vous ne voulez pas redémarrer pour vérifier si le système prend tout l'espace d'échange mentionné dans le /etc/fstab, vous pouvez faire ce qui suit, ce qui désactivera et activera toutes les partitions d'échange mentionnées dans le /etc/fstab
# swapoff -a # swapon -a