Как добавить своп в экземпляр EC2?



в настоящее время я запускаю экземпляр EC2 micro, и я обнаружил, что экземпляр иногда заканчивается память.



кроме использования большего размера экземпляра, что еще можно сделать?

657   9  

9 ответов:

исправление этой проблемы заключается в добавлении swap (т. е. paging) пространства к примеру.

подкачка работает путем создания области на жестком диске и использования его для дополнительной памяти, эта память намного медленнее, чем обычная память, однако гораздо больше ее доступно.

чтобы добавить это дополнительное пространство к вашему экземпляру, введите:

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

Если вам нужно больше, чем 1024, то изменить что-то выше.

чтобы включить его по умолчанию после перезагрузки, добавьте это строку в /etc/fstab строчку:

/var/swap.1   swap    swap    defaults        0   0

своп должен происходить на диске хранилища экземпляров (эфемерном), а не на устройстве EBS. Замена вызовет много IO и увеличит стоимость на EBS. EBS также медленнее, чем хранилище экземпляров, и хранилище экземпляров поставляется бесплатно с некоторые типы экземпляров EC2.

обычно он будет установлен в /mnt, но если не запустить

sudo mount /dev/xvda2 /mnt

чтобы затем создать файл подкачки на этом устройстве, выполните следующие действия для файла подкачки 4 ГБ

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

убедитесь, что ни один другой пользователь не может просмотреть файл подкачки

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

сделать и флаг как поменять

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

добавить /убедитесь, что в вашем/etc / fstab

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

наконец включить своп

sudo swapon -a

после применения шагов, упомянутых ajtrichards, вы можете проверить, использует ли ваш экземпляр amazon free tier swap с помощью этой команды

cat /proc/meminfo

результат:

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 КБ

SwapFree: 1048572 КБ

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

вы можете добавить 1 ГБ подкачки для вашего экземпляра с помощью следующих команд:

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

чтобы включить ее по умолчанию после перезагрузки, добавьте эту строку /etc/fstab:

/swapfile swap swap defaults 0 0

если вы t2 экземпляры (t2.micro,t2.medium,t2.small), там нет эфемерного или экземпляра хранения доступны для вас. Так что вам нужно просто создать свой своп в EBS который в зависимости от вашего случая использования может или не может быть хорошей идеей. В противном случае следуйте ответу @David и создайте свой своп на эфемерном хранилище, чтобы избежать оплаты расходов EBS.

дополнительная информация:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html есть таблица, которая показывает, сколько эфемерного хранилища вы получаете для каждого типа экземпляра.

вы можете создать пространство подкачки, используя следующие шаги Здесь мы создаем СВОП по адресу /home/

  1. dd if=/dev/zero of=/home/swapfile1 bs=1024 count=8388608
    Здесь count-это количество килобайт пространства подкачки

  2. mkswap /home/swapfile1

  3. vi /etc/fstab
    сделать запись :
    /home/swapfile1 swap swap defaults 0 0

  4. run:
    swapon -a

мы можем добавить файл подкачки на любом сервере

создайте файл с помощью команды dd

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

bs-это blocksize и графа относится к размер в Мб или ГБ

мы можем использовать наоборот

после создания измените разрешение файла:

 #chmod 600 /swapfile 

затем makeswap файл :

 #mkswap /swapfile 

затем включите файл подкачки с помощью команды swapon :

 #swapon  /swapfile 

проверьте с помощью команды free включен ли swap или нет:

 #free -h
 #swapon -s

попробовать swapspace http://pqxx.org/development/swapspace/

большинство дистрибутивов имеют упакован.

на EC2 вы можете изменить "swappath" на /mnt или high-iops диск.

вы можете использовать следующий скрипт для добавления swap на Amazon Linux.

https://github.com/chetankapoor/swap

скачать скрипт с помощью wget:

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

затем запустите скрипт в следующем формате:

sh swap.sh 2G

для полного учебника вы можете посетить:

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

Comments

    Ничего не найдено.