Come si aggiunge lo swap a un’istanza EC2?

Attualmente sto eseguendo un’istanza micro ec2 e ho scoperto che l’istanza a volte esaurisce la memoria.

A parte l’uso di una dimensione di istanza più grande, che altro si può fare?

Una soluzione per questo problema è aggiungere spazio di swap (cioè paging ) all’istanza.

Il cercapersone funziona creando un’area sul tuo disco rigido e usandola per memoria extra, questa memoria è molto più lenta della memoria normale, ma molto di più è disponibile.

Per aggiungere questo spazio aggiuntivo alla tua istanza devi digitare:

 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 

Se hai bisogno di più di 1024, cambiala in qualcosa di più alto.

Per abilitarlo di default dopo il riavvio, aggiungi questa linea a / etc / fstab:

 /var/swap.1 swap swap defaults 0 0 

Lo swap deve essere effettuato sul disco dell’istanza di archiviazione (temporaneo) e non su un dispositivo EBS. Lo swapping causerà un sacco di IO e aumenterà i costi su EBS. EBS è anche più lento di Instance Store e Instance Store è gratuito con determinati tipi di istanze EC2 .

Solitamente verrà montato su / mnt ma se non viene eseguito

 sudo mount /dev/xvda2 /mnt 

Per creare un file di scambio su questo dispositivo, effettuare le seguenti operazioni per uno swapfile da 4 GB

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

Assicurarsi che nessun altro utente possa visualizzare il file di scambio

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

Crea e contrassegna come swap

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

Aggiungi / Assicurati che quanto segue sia in / etc / fstab

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

infine abilitare lo scambio

 sudo swapon -a 

Dopo aver applicato i passaggi indicati da ajtrichards, puoi verificare se l’istanza di livello gratuito di Amazon utilizza lo scambio utilizzando questo comando

 cat /proc/meminfo 

risultato:

 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 

Puoi aggiungere uno swap da 1 GB alla tua istanza con questi comandi:

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

Per abilitarlo di default dopo il riavvio, aggiungi questa linea a /etc/fstab :

 /swapfile swap swap defaults 0 0 

Se ci si trova in istanze t2 ( t2.micro , t2.medium , t2.small ), non è disponibile alcuna memoria t2.small o istanza. Quindi devi solo creare il tuo swap in EBS che, a seconda del tuo caso d’uso, potrebbe o potrebbe non essere una buona idea. Altrimenti, segui la risposta di @David e crea il tuo swap sull’archiviazione effimera per evitare di pagare i costi EBS.

Maggiori informazioni: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html c’è una tabella che mostra la quantità di spazio di archiviazione effimera che si ottiene per ogni tipo di istanza.

Puoi creare lo spazio di swap usando i seguenti passaggi. Qui stiamo creando lo swap in /home/

  1. dd if=/dev/zero of=/home/swapfile1 bs=1024 count=8388608
    Qui conta il conteggio dei kilobyte dello spazio di swap

  2. mkswap /home/swapfile1

  3. vi /etc/fstab
    fare l’entrata:
    /home/swapfile1 swap swap defaults 0 0

  4. correre:
    swapon -a

Possiamo aggiungere lo spazio di swap in qualsiasi server

creare un file usando il comando dd

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

bs è blockize e count fa riferimento alla dimensione in MB o GB

possiamo usare viceversa

Dopo la creazione modifica l’authorization del file:

  #chmod 600 /swapfile 

Quindi sostituisci il file:

  #mkswap /swapfile 

Quindi abilitare il file di scambio con il comando swapon:

  #swapon /swapfile 

Verifica con comando libero se lo scambio è abilitato o meno:

  #free -h #swapon -s 

Prova lo swappace http://pqxx.org/development/swapspace/

La maggior parte delle distro lo ha confezionato.

Su EC2 potresti voler cambiare “swappath” in / mnt o disco high-iops.

Puoi usare il seguente script per aggiungere swap su Amazon Linux.

https://github.com/chetankapoor/swap

Scarica lo script usando wget:

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

Quindi esegui lo script con il seguente formato:

 sh swap.sh 2G 

Per un tutorial completo puoi visitare:

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