Я запустил пару серверов на EC2, и у них нет свопа.
Я что-то не так делаю или машины просто не имеют?
linux
ubuntu
amazon-ec2
swap
rafamvc
источник
источник
Ответы:
Вы правы, образы Ebu Ubuntu EC2 не поставляются с настроенным пространством подкачки (по крайней мере, для 11.04 ). «Обычные» образы экземпляра имеют раздел подкачки, хотя на том, который я тестировал, только 896 МБ.
Если какой-то процесс взрывается и у вас нет места подкачки, ваш сервер может ненадолго остановиться, пока не включится убийца OOM, тогда как при перестановке он просто замедляется. По этой причине мне всегда нравится иметь место подкачки, даже с достаточным количеством оперативной памяти. Вот ваши варианты:
Создайте том EBS (в 2-4 раза превышающий объем вашей оперативной памяти), присоедините его к вашему экземпляру (мне нравится называть его / dev / xvdm для «памяти»)
sudo mkswap /dev/xvdm
, добавьте его в fstabsudo swapon -a
, и вы готовы идти , Я делал это раньше, и он отлично работает, но он, вероятно, немного медленнее, чем хранилище экземпляров, потому что он идет по сети.Или вы можете переразбить диск, чтобы добавить раздел подкачки, хотя для этого может потребоваться создание нового AMI. Я не смог сделать это в работающем экземпляре, потому что я не могу размонтировать корневую файловую систему, и у меня даже нет доступа к дисковому устройству (/ dev / xvda), только раздел (xvda1).
Или вы можете создать файл подкачки. Это мое предпочтительное решение прямо сейчас.
Готово. :) Я знаю, что многие люди чувствуют себя не в своей тарелке из-за использования файлов вместо разделов, но это, безусловно, достаточно хорошо работает в качестве места для аварийного обмена.
источник
Лучшее место для обмена IMHO - это магазин экземпляров. Почему? AWS не взимает плату за ввод-вывод в магазине экземпляров. Кроме того, хранилище экземпляров во многих случаях более производительно, чем EBS. Просто убедитесь, что у вас есть скрипт, который воссоздает файл подкачки на случай, если вы остановите экземпляр. Перезагрузки в порядке. Почему это не там по умолчанию?
Давайте найдем экземпляр магазина.
Ура, 160.1GB бесплатно! Поместите туда свой своп и забудьте о 100-процентных перерасходах на сервер, когда ваш своп на основе EBS наполнился ошибкой. К сожалению, опыт общения здесь.
Видимо, в некоторых случаях вы не видите хранилище экземпляров.
источник
Примечание : Amazon изменил свою ценовую политику и не взимает плату за запросы ввода-вывода с середины 2016 года. Ответ хранится здесь по историческим причинам, но нет никаких затратных последствий использования (или не использования) свопа на экземплярах, поддерживаемых EBS в EC2.
Это по замыслу. По умолчанию своп отключен в инстансах, поддерживаемых EBS EC2, чтобы избежать непредсказуемых затрат.
Если у вас есть приложение с нехваткой памяти, которое работает плохо (скажем, на маленьком или маленьком экземпляре), оно может генерировать довольно большое количество запросов ввода-вывода на томе EBS.
Amazon взимает $ 0,10 за 1 миллион запросов ввода / вывода (см. Http://aws.amazon.com/pricing/ebs/ ).В нормальных условиях вам не стоит об этом беспокоиться; обычно стоимость запросов ввода-вывода даже в небольших случаях составляет несколько долларов, если это так. Поэтому, если вы знаете, что у вас есть экземпляр надлежащего размера, и этот своп будет использоваться нечасто, включите его. Но будьте осторожны с крошечными примерами.
Если вы включите обмен, вы можете следить за отчетами об использовании. При желании вы также можете настроить Оповещение о выставлении счета, перейдя в Панель управления CloudWatch и создав новый сигнал тревоги для общей суммы счета. Таким образом, вы сразу будете уведомлены, что с вашими инстанциями происходит что-то странное.
источник
Проверьте
/etc/fstab
файл, они, вероятно, были установлены без замены в изображении, которое вы используете. Я думаю, что некоторые люди работают без подкачки для серверов, так как они ожидают, что никогда не будут использовать больше, чем общая память - подкачка делает все очень медленно.Однако я всегда параноидален по поводу того, что какой-то процесс всплывает в памяти, поэтому я думаю, что было бы разумно с вашей стороны просто установить диск подкачки и воссоздать образ из запущенного экземпляра ec2.
источник
Простое решение для работы
swap
вEC2
изображениях , чтобы запуститьswap
сжатlz4
вram
сzram-init
.systemd
&openrc
.Это решение никак не взять
ram
далеко отhost
:источник
zswap
сжатый кэш ОЗУ поверх обычного файла / диска подкачки: wiki.archlinux.org/index.php/zswap . См. Cnx-software.com/2018/05/14/… для получения дополнительной информации о Zram.