Comment allouer de la mémoire en tant qu'espace d'échange sur une instance Amazon EC2 en utilisant une partition de mon disque dur ?

Dernière mise à jour : 25/08/2022

Je veux allouer de la mémoire en tant qu'espace d'échange sur une instance Amazon Elastic Compute Cloud (Amazon EC2) en utilisant une partition de mon disque dur. Comment procéder ?

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 utilisé à cette fin. Pour plus d'informations, consultez 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 quantité de RAM est pleine. L'espace d'échange peut être utilisé pour les instances qui disposent d'une petite quantité de RAM, mais ce n'est pas un remplacement pour plus 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 une mémoire plus importante ou plus rapide, envisagez d'augmenter la taille de votre instance.

Solution

Calculer la taille de l'espace d'échange

Il est recommandé que l'espace d'échange soit égal à 2 fois la RAM physique, pour un maximum de 2 Go de RAM physique. Pour toute quantité supérieure à 2 Go, ajoutez 1x de RAM physique supplémentaire. Il est recommandé que l'espace d'échange ne soit jamais inférieur à 32 Mo.

Quantité de RAM système 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 GiB de RAM, mais jamais moins de 64 GiB 0,5 fois la quantité de RAM
Plus de 64 GiB Selon la charge de travail ou le cas d'utilisation

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

1..    Connectez-vous à l'instance à l'aide de SSH.

2..    Répertoriez les volumes disponibles :

$ sudo fdisk -l

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

$ sudo fdisk /dev/xvda

4..    Créez une nouvelle partition :

-> n

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

-> p

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

-> 2

7..    Acceptez la valeur « First sector » en appuyant sur la touche Entrée.

8.    Saisissez la taille du fichier d'échange. Dans cet exemple, nous disposons de 2 Go de RAM et 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

Configurer la zone d'échange

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

$ partprobe

2..    Configurez une zone d'échange Linux à l'aide de la partition d'échange créée au cours des étapes précédentes. 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 obtenez une sortie du type :

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

5..    Rendez l'allocation de mémoire d'échange permanente après le redémarrage à l'aide de la commande suivante :

Remarque : si xvda2 n'est pas le nom de votre périphérique d'échange, remplacez ce terme par le nom du périphérique d'échange dans votre environnement.

$ cp /etc/fstab /etc/fstab_$(date +%Y%m%d%H%M%S)
$ cat <<EOF >> /etc/fstab
`sudo blkid /dev/xvda2 | grep -Eo '[[:alnum:]]{8}(-[[:alnum:]]{4}){3}-[[:alnum:]]{12}'` swap swap defaults 0 0
EOF
$ reboot

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


Avez-vous besoin d'aide pour une question technique ou de facturation ?