Comment allouer de la mémoire pour qu’elle fonctionne comme espace d’échange sur une instance Amazon EC2 à l’aide d’un fichier d’échange ?

Lecture de 3 minute(s)
0

Je souhaite utiliser de la mémoire en tant que fichier d’échange dans une instance Amazon Elastic Compute Cloud (Amazon EC2). Comment faire ?

Brève description

Lorsque la RAM physique est déjà en cours d’utilisation, les instances Amazon EC2 utilisent momentanément l’espace d’échange à la place de la RAM physique.

Les contenus de la RAM qui ne sont pas en cours d’utilisation ou dont le besoin n’est pas aussi urgent que pour d’autres données ou instructions, peut être temporairement paginés dans un fichier d’échange. Cela permet de libérer de la RAM pour une utilisation immédiate.

Il est également possible de créer un espace d’échange sur une partition. Pour en savoir plus, consultez l’article Comment allouer de la mémoire pour qu’elle fonctionne comme espace d’échange sur une instance Amazon EC2 à l’aide d’une partition sur mon disque dur ?

Remarque : Il est recommandé de créer des espaces d’échange uniquement sur les volumes de stockage d’instances éphémères.

Résolution

Avant d’entamer cette résolution, vérifiez que votre système de fichiers prend en charge l’utilisation de fichiers d’échange.
Remarque : La plupart des systèmes de fichiers courants (ext3, ext4, XFS) sont pris en charge. Ce n’est peut-être pas le cas pour d’autres systèmes de fichiers. Il est recommandé de consulter la documentation la plus récente sur les systèmes de fichiers.

Calcul de la taille de l’espace d’échange

Pour savoir comment calculer la taille de votre espace d’échange, consultez les rubriques suivantes :

Création d’un fichier d’échange

1.    Utilisez la commande dd pour créer un fichier d’échange sur le système de fichiers racine. Dans la commande, bs correspond à la taille du bloc et count correspond au nombre de blocs. La taille du fichier d’échange est égale à la taille de bloc choisie multipliée par le nombre de blocs choisis dans la commande dd. Ajustez ces valeurs afin de déterminer la taille nécessaire du fichier d’échange.

La taille de bloc que vous indiquez doit être inférieure à la mémoire disponible sur l’instance, sinon vous recevrez un message d’erreur « mémoire épuisée ».

Dans cet exemple de commande dd, la taille du fichier d’échange est 4 Go (128 Mo x 32) :

$ sudo dd if=/dev/zero of=/swapfile bs=128M count=32

2.    Mettez à jour les autorisations de lecture et d’écriture pour le fichier d’échange :

$ sudo chmod 600 /swapfile

3.    Configurez une zone d’échange Linux :

$ sudo mkswap /swapfile

4.    Ajoutez le fichier d’échange dans l’espace d’échange afin de le rendre immédiatement disponible :

$ sudo swapon /swapfile

5.    Vérifiez que la procédure s’est bien déroulée :

$ sudo swapon -s

6.    Lancez le fichier d’échange au démarrage en modifiant le fichier /etc/fstab.

Ouvrez le fichier dans l’éditeur :

$ sudo vi /etc/fstab

Ajoutez la nouvelle ligne suivante à la fin du fichier, enregistrez le fichier, puis quittez :

/swapfile swap swap defaults 0 0

Informations complémentaires

RHEL - Ajout d’espace d'échange

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans