Comment allouer de la mémoire pour l'utiliser comme espace d'échange dans une instance Amazon EC2 en utilisant un fichier d'échange ?

Date de la dernière mise à jour : 15/01/2020

Je souhaite allouer de la mémoire pour l'utiliser comme fichier d'échange dans une instance Amazon Elastic Compute Cloud (Amazon EC2). Comment puis-je procéder ?

Brève description

Lorsque la RAM physique est déjà utilisée, les instances Amazon EC2 utilisent l'espace d'échange comme remplacement à court terme de la RAM physique.

Le contenu de la RAM qui n'est pas en cours d'utilisation active ou qui n'est pas nécessaire de manière aussi urgente que d'autres données ou instructions peut être temporairement paginé dans un fichier d'échange. Cela libère de la RAM pour une utilisation plus immédiate.

Vous pouvez également créer un espace d'échange sur une partition. Pour plus d'informations, consultez Comment allouer de la mémoire pour l'utiliser comme espace d'échange sur une instance Amazon EC2 en utilisant une partition sur mon disque dur ?

Remarque : il est recommandé de créer un espace d'échange uniquement sur des volumes de stockage d'instance de stockage éphémère.

Solution

Calculez la taille de l'espace d'échange

En général, calculez l'espace d'échange en fonction des éléments suivants :

Quantité de RAM physique Espace d'échange recommandé
2 Go de RAM ou moins 2 fois la quantité de RAM, mais jamais moins de 32 Mo
Plus de 2 Go de RAM, mais moins de 32 Go 4 Go + (RAM – 2 Go)
32 Go de RAM ou plus 1 fois la quantité de RAM

Remarque : l'espace d'échange ne doit jamais être inférieur à 32 Mo.

Créer 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 est la taille du bloc et count est le nombre de blocs. La taille du fichier d'échange est égale à l'option de taille de bloc multipliée par l'option count dans la commande dd. Ajustez ces valeurs pour déterminer la taille de fichier d'échange souhaitée.

La taille de bloc que vous spécifiez doit être inférieure à la mémoire disponible sur l'instance. Dans le cas contraire, vous recevez une erreur « mémoire épuisée ».

Dans cet exemple de commande dd, le fichier d'échange est de 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.    Rendez le fichier d'échange disponible pour une utilisation immédiate en ajoutant le fichier d'échange à l'espace d'échange :  

$ sudo swapon /swapfile

5.    Vérifiez que la procédure a été réalisée avec succès :

$ sudo swapon -s

6.    Activez le fichier d'échange au moment du 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

Cet article vous a-t-il été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?