Comment puis-je allouer de la mémoire sur une partition de mon disque dur pour qu’elle fonctionne comme un espace d’échange sur une instance Amazon EC2 ?

Lecture de 4 minute(s)
0

Je souhaite allouer de la mémoire sur une partition de mon disque dur pour qu’elle fonctionne comme un espace d'échange sur une instance Amazon Elastic Compute Cloud (Amazon EC2).

Brève description

Pour allouer de la mémoire en tant qu'espace d'échange, procédez comme suit :

  1. Calculez la taille de l'espace d'échange.
  2. Créez une partition sur votre disque dur en tant qu'espace d'échange.
  3. Configurez la zone d'échange.

Vous pouvez également créer un fichier d'échange à utiliser comme espace d'échange. Pour en savoir plus, consultez l'article Comment allouer de la mémoire en tant qu’espace d’échange dans une instance Amazon EC2 en utilisant un fichier d’échange ?

Remarque : l'instance utilise l'espace d'échange lorsque la RAM est pleine. Vous pouvez utiliser l'espace d'échange pour les instances qui disposent d'une petite quantité de RAM, mais cette solution n'est pas un substitut pour une plus grande quantité de RAM. L'espace d'échange étant situé sur le disque dur de l'instance, les performances sont plus lentes par rapport à la RAM réelle. Pour bénéficier d'une mémoire plus importante ou plus rapide, vous devez augmenter la taille de votre instance.

Résolution

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

Il est recommandé d'utiliser un espace d'échange égal à deux fois la RAM physique, pour un maximum de 2 Go de RAM physique. Si vous avez besoin d'une quantité supérieure à 2 Go, ajoutez 1 RAM physique supplémentaire. Il est également recommandé de ne jamais utiliser un espace d'échange inférieur à 32 Mo.

Quantité de RAM du systèmeEspace d'échange recommandé
2 Go de RAM ou moins2 fois la quantité de RAM mais jamais moins de 32 Mo
Plus de 2 Go de RAM mais moins de 64 Go0,5 fois la quantité de RAM
Plus de 64 GoDépend de la charge de travail ou du cas d'utilisation

Création d’une partition sur votre disque dur en tant qu'espace d'échange

1.    Connectez-vous à l’instance à l’aide du service SSH.

2.    Répertoriez les volumes disponibles :

$ sudo fdisk -l

3.    Sélectionnez un périphérique à partitionner dans la liste. Dans cet exemple, nous utilisons le périphérique /dev/xvda.

$ sudo fdisk /dev/xvda

4.    Créez une partition :

\-> n

5.    Sélectionnez un type de partition. Dans cet exemple, nous utilisons le type principal :

\-> p

6.    Attribuez le numéro de partition. Dans cet exemple, nous utilisons la partition 2 :

\-> 2

7.    Appuyez sur Entrée pour accepter la valeur par défaut « First sector ».

8.    Saisissez la taille du fichier d'échange. Dans cet exemple, nous disposons de 2 Go de RAM. La taille de la nouvelle partition est de 4 Go (spécifiée à l'aide de la valeur +4G).

\-> +4G

9.    Enregistrez et quittez :

\-> w

Configuration de la zone d'échange

1.    Exécutez la commande partprobe pour informer le système d'exploitation de la modification de la table de partition :

$ partprobe

2.    Utilisez la partition d'échange que vous avez créée au cours des étapes précédentes pour configurer une zone d'échange Linux. Dans cet exemple, il s’agit de la partition d'échange /dev/xvda2.

$ mkswap /dev/xvda2

3.    Ajoutez la partition en tant qu'espace d'échange :

$ sudo swapon /dev/xvda2

4.    Affichez l'espace d'échange actuel :

$ sudo swapon -s

Vous obtiendrez une sortie de ce type :

Filename                  Type        Size           Used    Priority
/dev/xvda2                partition   4194300        0       -1

5.    Après le redémarrage, suivez ces étapes pour rendre l'allocation de mémoire d'échange permanente :
Imprimez l'UUID à partir de la commande blkid :

$ sudo blkid

Copiez l'UUID de la partition d'échange à partir de la sortie précédente. Utilisez un éditeur de texte, tel que vi ou nano, pour ajouter ce qui suit au fichier /etc/fstab :

UUID=xxxxxxx none swap SW 0 0

6.    Enregistrez le fichier, puis redémarrez.

Après avoir redémarré le système d'exploitation, vous pouvez vérifier la permanence de l'allocation de mémoire d'échange à l’aide de la commande free -h.

Informations connexes

Espace d'échange (sur le site Web de Red Hat)

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 9 mois