Comment ajouter swap à une instance EC2?

j'exécute actuellement une micro instance ec2 et j'ai découvert que l'instance manque parfois de mémoire.

autre que l'utilisation d'une plus grande taille d'instance, que peut-on faire d'autre?

253
demandé sur gvasquez 2013-06-18 20:17:42

9 réponses

une correction pour ce problème est d'ajouter swap (i.e. paging ) espace à l'instance.

Paging fonctionne en créant une zone sur votre disque dur et en l'utilisant pour la mémoire supplémentaire, cette mémoire est beaucoup plus lente que la mémoire normale, mais beaucoup plus d'elle est disponible.

pour ajouter cet espace supplémentaire à votre instance, tapez:

sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
sudo /sbin/mkswap /var/swap.1
sudo chmod 600 /var/swap.1
sudo /sbin/swapon /var/swap.1

si vous avez besoin de plus de 1024, changez cela en quelque chose de plus élevé.

pour l'activer par défaut après redémarrage, ajouter cette ligne à /etc/fstab:

/var/swap.1   swap    swap    defaults        0   0
497
répondu ajtrichards 2018-05-02 16:57:57

Swap doit avoir lieu sur le disque de stockage D'Instance (éphémère) et non sur un périphérique EBS. L'échange causera beaucoup d'IO et augmentera les coûts sur EBS. EBS est également plus lent que L'Instance Store et L'Instance Store est disponible gratuitement avec certains types D'Instances EC2 .

il sera généralement monté sur /mnt mais s'il n'est pas exécuté

sudo mount /dev/xvda2 /mnt

pour ensuite créer un fichier de pagination sur ce périphérique, faites ce qui suit pour un 4Go fichier d'échange

sudo dd if=/dev/zero of=/mnt/swapfile bs=1M count=4096

assurez-vous qu'aucun autre utilisateur ne puisse consulter le fichier de pagination

sudo chown root:root /mnt/swapfile
sudo chmod 600 /mnt/swapfile

Drapeau swap

sudo mkswap /mnt/swapfile
sudo swapon /mnt/swapfile

Ajouter/assurez-vous que les éléments suivants figurent dans votre /etc/fstab

/dev/xvda2      /mnt    auto    defaults,nobootwait,comment=cloudconfig 0   2
/mnt/swapfile swap swap defaults 0 0

enfin activer swap

sudo swapon -a
203
répondu David 2016-05-05 12:13:01

après avoir appliqué les étapes mentionnées par ajtrichards, vous pouvez vérifier si votre instance Amazon free tier utilise swap en utilisant cette commande

cat /proc/meminfo

résultat:

ubuntu@ip-172-31-24-245:/$ cat /proc/meminfo
MemTotal:         604340 kB
MemFree:            8524 kB
Buffers:            3380 kB
Cached:           398316 kB
SwapCached:            0 kB
Active:           165476 kB
Inactive:         384556 kB
Active(anon):     141344 kB
Inactive(anon):     7248 kB
Active(file):      24132 kB
Inactive(file):   377308 kB
Unevictable:           0 kB
Mlocked:               0 kB

SwapTotal: 1048572 kB

SwapFree: 1048572 kB

Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        148368 kB
Mapped:            14304 kB
Shmem:               256 kB
Slab:              26392 kB
SReclaimable:      18648 kB
SUnreclaim:         7744 kB
KernelStack:         736 kB
PageTables:         5060 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     1350740 kB
Committed_AS:     623908 kB
VmallocTotal:   34359738367 kB
VmallocUsed:        7420 kB
VmallocChunk:   34359728748 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      637952 kB
DirectMap2M:           0 kB
40
répondu HimalayanCoder 2014-02-13 12:59:43

vous pouvez ajouter un swap de 1 Go à votre instance avec ces commandes:

sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
sudo mkswap /swapfile
sudo swapon /swapfile

pour l'activer par défaut après redémarrage, ajouter cette ligne à /etc/fstab :

/swapfile swap swap defaults 0 0
34
répondu David Levesque 2013-06-18 16:56:52

si vous êtes sur les instances t2 ( t2.micro , t2.medium , t2.small ), il n'y a pas de stockage éphémère ou d'instance disponible pour vous. Vous devez donc simplement créer votre swap dans EBS qui, selon votre cas d'utilisation, peut ne pas être une bonne idée. Sinon, suivez la réponse de @David, et créez votre swap sur le stockage éphémère pour éviter de payer les coûts EBS.

plus d'informations: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html il y a une table qui montre combien de stockage éphémère vous obtenez pour chaque type d'instance.

14
répondu Ali 2015-02-21 11:58:48

vous pouvez créer de l'espace de pagination en utilisant les étapes suivantes Ici nous créons swap à /home/

  1. dd if=/dev/zero of=/home/swapfile1 bs=1024 count=8388608

    Ici le compte est le nombre de kilo-octets de l'espace d'échange

  2. mkswap /home/swapfile1

  3. vi /etc/fstab

    entrer :

    /home/swapfile1 swap swap defaults 0 0

  4. exécuter:

    swapon -a

7
répondu minhas23 2015-11-03 16:58:14

nous pouvons ajouter de l'espace de pagination dans n'importe quel serveur

créer un fichier en utilisant la commande dd

 #dd if=/dev/zero of=/swapfile bs=1M count=2048
                    or
 #dd if=/dev/zero of=/swapfile bs=1024M count=2

bs est la taille de bloc et count fait référence à la taille en MO ou en GO

nous pouvons utiliser vice versa

après la création modifier la permission de fichier:

 #chmod 600 /swapfile 

alors makeswap le fichier:

 #mkswap /swapfile 

puis activer le fichier swap avec la commande swapon:

 #swapon  /swapfile 

vérifier avec la commande libre si le swap est activé ou non:

 #free -h
 #swapon -s
3
répondu Shakeel 2018-01-16 14:35:25

Try swapspace http://pqxx.org/development/swapspace /

la plupart des distros l'ont emballé.

sur EC2, vous pouvez changer "swappath" en / mnt ou disque high-iops.

1
répondu rdoroshenko 2014-02-07 12:49:53

vous pouvez utiliser le script suivant pour ajouter du swap sur Amazon Linux.

https://github.com/chetankapoor/swap

Téléchargez le script en utilisant wget:

wget https://raw.githubusercontent.com/chetankapoor/swap/master/swap.sh -O swap.sh

exécutez alors le script avec le format suivant:

sh swap.sh 2G

Pour un tutoriel complet vous pouvez visiter:

https://installvirtual.com/shell-script-to-create-swap/

-1
répondu Chetan kapoor 2018-08-01 08:51:26