Недавно построили новый AMI, основанный на последней версии 18.04. Также было выполнено подходящее обновление
при его инициализации, чтобы также иметь последние пакеты.
Проблема в том, что в этом новом AMI нет файла подкачки, проверено с помощью swapon --show
. Он использует ядро 5.3.0-1030-aws . Тот же образ, созданный 6 месяцев назад тем же способом (но без apt upgrade
, сделанного поверх него), который использует 4.15.0-1052-aws , как и ожидалось, имеет файл подкачки.
Файл подкачки также можно создать во время подготовки, но мне просто интересно, почему это изменилось с декабря.
Что мне не хватает?
Я не знаю , почему или , если он изменился, но ... вам действительно нужен файл подкачки или своп раздел?
Времена, когда он был нужен по соображениям производительности, давно прошли. Вы должны выбрать тип инстанса с достаточным объемом памяти для вашей рабочей нагрузки, и вам не понадобится пространство подкачки.
Ознакомьтесь с Экземпляры EC2 с оптимизацией памяти с гораздо большим объемом памяти на процессор, чем T3 / общего назначения. Экземпляры M5 / etc. За ту же цену вы можете получить гораздо больше памяти (и меньше процессоров, но это часто не проблема).
Возможно, вы выбрали тип экземпляра без тома подкачки по умолчанию. Некоторые небольшие экземпляры памяти EC2 запускаются с включенной подкачкой на крошечном томе подкачки хранилища экземпляров .
Или, возможно, пространство подкачки существует, но не используется из-за какого-либо сценария или изменения fstab. Убедитесь, что все устройства подкачки с lsblk --fs
уже используются.
Пространство подкачки все еще имеет варианты использования. Управление памятью Linux более эффективно благодаря свопу для всего, кроме систем с чрезмерным объемом свободной памяти. Это позволяет увеличить выделение памяти за пределы того, что возможно только с физической RAM. Лучше копаться в пространстве подкачки, чем раздражать убийцу OOM или паниковать систему.
Конечно, это не волшебная кнопка получить больше RAM. Слишком много подкачки, и ядру приходится ждать медленной вторичной памяти, что убивает производительность. Своп в хранилище SAN (EBS на языке EC2) излишне потребляет пропускную способность сети; использовать тома хранилища экземпляров на EC2. А DRAM относительно недорога, учитывая, насколько она быстра. Тогда есть неудобства операций по настройке пространства подкачки, как ваша текущая загадка. Так много систем не заботятся о пространстве подкачки.
В конце концов, нет никакой разницы между такими версиями ядра (конечно) и базовыми AMI.
Наиболее вероятный сценарий состоит в том, что кто-то в какой-то момент внес это изменение вручную.