Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

Chapitre 14. Espace swap

L'espace swap sur Linux est utilisé lorsque la mémoire physique (RAM) est pleine. Si le système a besoin de plus de ressources mémoire et que la mémoire RAM est pleine, les pages mémoire inactives sont alors déplacées vers l'espace swap. Même si l'espace swap peut aider les ordinateurs avec une plus petite quantité de RAM, celui-ci ne doit pas être considéré comme un remplacement pour plus de RAM. L'espace swap se trouve sur les disques durs, dont le temps d'accès est plus lent que pour la mémoire physique. L'espace Swap peut représenter une partition swap exclusive (conseillé), un fichier sawp, ou un ensemble de partitions et de fichiers swap. Notez que Btrfs ne supporte par les espaces swap.
Il y a quelques années, le montant d'espace swap recommandé augmentait de manière linéaire avec le montant de mémoire vive d'un système. Cependant, les systèmes modernes incluaient souvent des centaines de gigaoctets de mémoire vive. Par conséquent, l'espace swap recommandé est considéré comme une fonction de la charge de travail de la mémoire système, et non de la mémoire système uniquement.
Tableau 14.1, « Espace swap recommandé » fournit la taille recommandée d'une partition swap en fonction de la quantité de mémoire vive dans votre système et si vous souhaitez suffisamment de mémoire pour que votre système puisse hiberner. La taille de partition swap recommandée est automatiquement établie lors de l'installation. Cependant, pour permettre une hibernation, vous devrez modifier l'espace swap pendant l'étape du partitionnement personnalisé.
Les conseils qui se trouvent dans Tableau 14.1, « Espace swap recommandé » sont particulièrement importants pour les systèmes ayant une mémoire réduite (1 Go ou moins). Si vous n'allouez pas suffisamment de mémoire sur ces systèmes, vous pouvez vous heurter à des problèmes d'instabilité ou même de compromettre le démarrage de votre système installé.
À la limite entre chaque gamme listée dans Tableau 14.1, « Espace swap recommandé », par exemple, un système avec 2 Go, 8 Go, ou 64 Go de mémoire vive, une certaine discrétion peut être observée en ce qui concerne l'espace swap choisi et la prise en charge de l'hibernation. Si vos ressources système vous le permettent, augmenter l'espace swap conduira à une amélioration de la performance. Un espace swap de 100 Go au moins est conseillé pour les systèmes de plus de 140 processeurs logiques ou de plus de 3 To de mémoire vive.
Remarquez que vous pourrez obtenir une meilleure performance swap en distribuant l'espace swap sur de multiples périphériques de stockage, plus particulièrement sur des systèmes possédant des disques, contrôleurs et interfaces rapides.

Important

Les systèmes de fichiers et volumes LVM2 assignés en tant qu'espace swap ne doivent pas être utilisés lorsqu'ils sont modifiés. Toute tentative de modification de l'espace swap échoue si un processus système ou si le noyau utilise l'espace swap au même moment. Veuillez utiliser les commandes free et cat /proc/swaps pour vérifier combien d'espace swap est en cours d'utilisation et où il se trouve.
Vous devez modifier l'espace swap pendant le démarrage du système en mode de rescue ; voir Booting Your Computer in the Rescue Mode du Red Hat Enterprise Linux 7 Installation Guide. Lorsqu'il vous sera demandé de monter le système de fichiers, sélectionnez Ignorer.

14.1. Ajouter de l'espace swap

Il est parfois nécessaire d'ajouter de l'espace swap supplémentaire après l'installation. Par exemple, vous pouvez mettre à niveau la quantité de RAM dans votre système de 1 Go à 2 Go, mais il n'y a que 2 Go d'espace swap. Il pourrait être avantageux d'augmenter la quantité d'espace swap jusqu'à 4 Go si vous effectuez des opérations utilisant beaucoup de mémoire ou si vous exécutez des applications nécessitant de larges quantités de mémoire.
Trois options s'offrent à vous : créer une nouvelle partition swap, créer un nouveau fichier swap, ou étendre la mémoire swap sur un volume logique LVM2 existant. Il est recommandé d'étendre un volume logique existant.

14.1.1. Étendre Swap dans un Volume logique LVM2

Par défaut, Red Hat Enterprise Linux 7 utilise tout l'espace disponible pendant l'installation. Si c'est le cas pour votre système, vous devez ajouter un nouveau volume physique au groupe de volume utilisé par l'espace swap.
Après l'ajout de stockage supplémentaire au groupe de volume d'espace swap, il est possible de l'étendre. Pour cela, suivre la procédure suivante ( si l'on considère que /dev/VolGroup00/LogVol01 est le volume que vous souhaitez augmenter de 2 Go) :

Procédure 14.1. Étendre Swap dans un Volume logique LVM2

  1. Désactiver le swapping pour le volume logique associé :
    # swapoff -v /dev/VolGroup00/LogVol01
  2. Modifiez la taille du volume logique LVM2 de 2 Go supplémentaires :
    # lvresize /dev/VolGroup00/LogVol01 -L +2G
  3. Formater le nouvel espace swap :
    # mkswap /dev/VolGroup00/LogVol01
  4. Activer le volume logique étendu :
    # swapon -v /dev/VolGroup00/LogVol01
Pour vérifier si le nouveau volume logique a bien été créé, exécuter cat /proc/swaps ou free pour inspecter l'espace swap.

14.1.2. Création d'un volume logique LVM2 avec Swap

Pour ajouter un groupe de volumes swap (en supposant que /dev/VolGroup00/LogVol02 est le volume swap que vous souhaitez ajouter) :
  1. Créer le volume logique LVM2 avec une taille de 2 Go :
    # lvcreate VolGroup00 -n LogVol02 -L 2G
  2. Formater le nouvel espace swap :
    # mkswap /dev/VolGroup00/LogVol02
  3. Ajouter l'entrée suivante au fichier /etc/fstab :
    # /dev/VolGroup00/LogVol02 swap swap defaults 0 0
  4. Activer le volume logique étendu :
    # swapon -v /dev/VolGroup00/LogVol02
Pour vérifier si le nouveau volume logique a bien été créé, exécutez cat /proc/swaps ou free pour inspecter l'espace swap.

14.1.3. Création d'un fichier Swap

Comment ajouter un fichier swap :

Procédure 14.2. Ajouter un fichier swap

  1. Déterminer la taille du nouveau fichier swap en mégaoctets et multipliez-la par 1024 pour déterminer le nombre de blocs. Ainsi, la taille de bloc d'un fichier swap de 64 Mo est 65536.
  2. Dans un terminal, saisir la commande suivante avec count correspondant à la taille de bloc souhaitée :
    # dd if=/dev/zero of=/swapfile bs=1024 count=65536
  3. Définir le fichier swap par la commande :
    # mkswap /swapfile
  4. Modifier la sécurité du swapfile de façon à ce qu'il soit accessible à la lecture par tout le monde.
    # chmod 0600 /swapfile
  5. Pour activer le fichier swap immédiatement, mais pas automatiquement au démarrage :
    # swapon /swapfile
  6. Pour l'activer au démarrage, modifier le fichier /etc/fstab pour y inclure l'entrée suivante :
    /swapfile swap swap defaults 0 0
    Le nouveau fichier swap sera activé lors du prochain démarrage du système.
Pour vérifier si le nouveau fichier swap a bien été créé, exécutez cat /proc/swaps ou free pour inspecter l'espace swap.