05 mai 2013

Augmenter l'espace d'échange (SWAP) avec un fichier sous Linux

Sous Linux, certaines applications peuvent être très gourmandes en mémoire et le système a alors besoin de la SWAP pour gérer cet excès de besoin en mémoire. Pour rappel, la SWAP est un espace disque qui est utilisé comme mémoire virtuelle pour le système. Elle était trés utilisée dans le passé pour décharger la mémoire vive (RAM) alors coûteuse et présente en petite quantité sur les ordinateurs. Sous la plupart des systèmes Linux basés sur Debian, la SWAP est représentée sous forme de partition (Linux la crée par défaut et averti l'utilisateur quand il n'y a pas de partition SWAP à l'installation d'un système Debian).

Plus clairement, lorsque la RAM est pleine ou à partir d'un certain seuil d'utilisation de celle-ci, le système utilise la SWAP (une partie du disque dur) comme RAM. Le problème étant que la rapidité de lecture/écriture d'un disque est souvent bien inférieur à celle de la RAM et cela peut à terme ralentir tout le système car le disque dur sera beaucoup plus solicité.

Dans ce tutoriel, nous allons apprendre à augmenter l'espace d'échange (SWAP) d'un système Linux au travers un fichier.
1. Vérifier l'existant :
Nous allons commencer par vérifier la SWAP déjà existente dans notre système, la commande présente nativement sous Debian est "swapon", nous allons utiliser l'option "-s" ("show") pour avoir un affichage de nos partitions ou fichiers SWAP :
swapon -s
 Voila ce qu'il y a sur mon système, ce sera différent pour chaque système, tout dépend de ce qui a été fait lors de l'installation :
 
 
  On voit ici la partition SWAP créée lors de l'installation du système, sa taille (environ 180Mo), combien de Mo sont utilisés actuellement et le niveau de priorité qui sert à déterminer quel espace est à utiliser en premier. (le plus haut est le plus prioritaire). Nous pouvons également voir cela avec la commande "htop" ou "top" . Utilisez "apt-get install htop" si besoin, ce n'est pas une commande native à Debian :
 On voit ici plus clairement la SWAP disponible (175Mo) et utilisée (0Mo).

     
2. Création du fichier swap :
Nous allons maintenant créer un fichier SWAP qui servira donc à augmenter la capacité de la SWAP présente sur le système afin de mieux décharger la RAM d'éventuelles surcharges d'utilisation. Nous allons par exemple partir sur une extension de 1024Mo de SWAP :
cd /mnt/
dd if=/dev/zerpo of=1G.swap bs=1k count=1024000
 Nous pourrons vérifier que le fichier fait bien 1Go avec la commande "du" :
du -sh *
 
On doit ensuite rendre le fichier lisible uniquement par le système :
chmod 600 /mnt/1G.swap
   
On fait ensuite de ce fichier un fichier SWAP :
mkswap 1G.swap -f
 
La commande "mkswap" permet de paramétrer un espace SWAP sous Linux. Il nous faut pour finir activer l'utilisation de ce nouveau fichier SWAP avec la commande suivante :
swapon /mnt/1G.swap
      
Nous pourrons alors effectuer une seconde vérification avec la commande "swapon -s" :

 Nous voyons donc bien ici que notre fichier sera utilisé en seconde priorité (si la partition SWAP d'origine est elle aussi pleine), qu'il fait près de 1Giga et que c'est un fichier (type "file"). Nous aurons un résultat plus parlant avec la commande "htop" également :

Aucun commentaire :

Enregistrer un commentaire