В настоящее время я использую микроэкземпляр ec2 и обнаружил, что экземпляру иногда не хватает памяти.
Что может быть сделано, кроме использования большего размера экземпляра?
amazon-web-services
amazon-ec2
out-of-memory
ajtrichards
источник
источник
if
означает «входной файл»,of
означает «выходной файл»,bs
означает «размер блока» иcount
является количеством блоков, которое вы хотите выделить… вы можете прочитатьman
страницу команды для получения дополнительной информации: linux.die.net/man/1/ дд$> free -m
Обмен должен происходить на диске хранения данных (эфемерном), а не на устройстве EBS. Обмен вызовет много IO и увеличит стоимость на EBS. EBS также работает медленнее, чем Instance Store, а Instance Store поставляется бесплатно с некоторыми типами EC2 .
Обычно он монтируется в / mnt, но если не запускается
Чтобы затем создать файл подкачки на этом устройстве, выполните следующие действия для файла подкачки объемом 4 ГБ.
Убедитесь, что никакой другой пользователь не может просматривать файл подкачки
Сделать и пометить как своп
Добавьте / убедитесь, что в вашем / etc / fstab есть следующее
наконец включить своп
источник
После применения шагов, упомянутых ajtrichards, вы можете проверить, использует ли ваша инстанция уровня бесплатного пользования Amazon swap с помощью этой команды
результат:
SwapTotal: 1048572 кБ
SwapFree: 1048572 кБ
источник
Вы можете добавить 1 ГБ подкачки к вашему экземпляру с помощью этих команд:
Чтобы включить его по умолчанию после перезагрузки, добавьте эту строку в
/etc/fstab
:источник
/swapfile
. Но вы также можете смонтировать другую файловую систему и создать там файл подкачки, например/mnt/blah/swapfile
.Если вы находитесь на
t2
случаях (t2.micro
,t2.medium
,t2.small
), не эфемерное или экземпляр для хранения доступны для вас. Так что вам нужно просто создать свой своп, вEBS
котором в зависимости от вашего варианта использования может быть или не быть хорошей идеей. В противном случае следуйте ответу @David и создайте своп в эфемерном хранилище, чтобы избежать оплаты расходов EBS.Дополнительная информация: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html есть таблица, показывающая, сколько эфемерного хранилища вы получаете для каждого типа экземпляра.
источник
For example, if you provision a volume with 1000 IOPS, and keep this volume for 15 days in a 30 day month, then in a Region that charges $0.10 per provisioned IOPS-month, you would be charged $50 for the IOPS that you provision ($0.10 per provisioned IOPS-month * 1000 IOPS provisioned * 15 days/30). You will be charged for the IOPS provisioned on a volume even when the volume is detached from an instance.
. Кажется, что AWS будет взимать плату за операции чтения и записи.Вы можете создать пространство подкачки, используя следующие шаги.
/home/
dd if=/dev/zero of=/home/swapfile1 bs=1024 count=8388608
Здесь количество килобайт подсчитывает пространство подкачки
mkswap /home/swapfile1
vi /etc/fstab
сделать запись:
/home/swapfile1 swap swap defaults 0 0
бегать:
swapon -a
источник
Мы можем добавить пространство подкачки на любом сервере
создать файл с помощью команды dd
bs - это размер блока, а count относится к размеру в МБ или ГБ.
мы можем использовать наоборот
После создания измените разрешение файла:
Затем делает своп файла:
Затем включите файл подкачки с помощью команды swapon:
Проверьте с помощью команды free, включен ли swap:
источник
Использование ответа David Instance Storage изначально работало для меня (на m5d.2xlarge), однако после остановки экземпляра EC2 и его повторного включения я не смог снова подключиться к ssh.
Журналы экземпляров сообщают: «Вы находитесь в аварийном режиме. После входа в систему введите« journalctl -xb »для просмотра системных журналов,« systemctl reboot »для перезагрузки,« systemctl default »или« exit »для загрузки в режиме по умолчанию. Нажмите Enter для поддержания"
Вместо этого я следовал инструкциям AWS в этой ссылке, и все работало отлично, в том числе после выключения и повторного включения экземпляра.
https://aws.amazon.com/premiumsupport/knowledge-center/ec2-memory-swap-file/
sudo dd if=/dev/zero of=/swapfile bs=1G count=4
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon -s
источник
Попробуйте swapspace http://pqxx.org/development/swapspace/
У большинства дистрибутивов это есть.
На EC2 вы можете изменить «swappath» на / mnt или high-iops диск.
источник
Вы можете использовать следующий скрипт для добавления подкачки в Amazon Linux.
https://github.com/chetankapoor/swap
Загрузите скрипт с помощью wget:
Затем запустите скрипт в следующем формате:
Для полного урока вы можете посетить:
https://installvirtual.com/shell-script-to-create-swap/
источник