Вопрос или проблема
Для требования Kubernetes я отключаю своп с помощью следующего:
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
Но после перезагрузки своп снова включается. Мне нужно повторно выполнить swapoff -a, чтобы продолжить.
Как это можно сделать постоянным?
Заранее спасибо
Ответ или решение
Дискасловие: В данной статье мы обсудим, как сделать команду swapoff -a
постоянной после перезагрузки системы, особенно в контексте использования Kubernetes, где необходимы строгие системные требования.
Введение
При работе с Kubernetes важно, чтобы система работала в оптимальном режиме, что подразумевает отключение свопа. Команда sudo swapoff -a
временно отключает своп, но после перезагрузки системы своп может снова активироваться. Для того чтобы предотвратить это, необходимо внести изменения в конфигурацию системы.
Проблема
Вы уже выполнили два основных действия для отключения свопа:
sudo swapoff -a
— отключает все пространства свопа.- Изменение файла
/etc/fstab
, чтобы отключить своп при запуске.
Тем не менее, после перезагрузки своп снова активируется, что указывает на то, что настройка в файле /etc/fstab
не была правильной. Вероятно, вы уже добавили комментарий к действующей строке, но важно убедиться, что все сделано верно.
Решение
-
Проверка конфигурации swap в /etc/fstab:
Убедитесь, что строка для свопа в файле/etc/fstab
закомментирована. Для этого выполните команду:cat /etc/fstab
Если строка, относящаяся к свопу, выглядит примерно так:
# swap none swap sw 0 0
То ваше изменение выполнено корректно.
-
Проверка состояния swap:
Лучше всего также проверить текущее состояние свопа с помощью команды:swapon --show
Если результат пуст, значит своп отключен.
-
Обновление настроек ядра:
Если своп снова активируется даже при верно настроенном файле/etc/fstab
, это может быть связано с параметрами ядра, которые необходимо изменить. Добавьте конфигурацию в/etc/sysctl.conf
или создайте отдельный файл в/etc/sysctl.d/
, например99-swapping.conf
. Включите следующую строку:vm.swappiness=0
После редактирования примените изменения:
sudo sysctl -p
-
Рекомендации по использованию Systemd:
Кроме того, вы можете создатьsystemd
единицу для управления свопом. Создайте файл/etc/systemd/system/disable-swap.service
со следующим содержимым:[Unit] Description=Disable swap at boot [Service] Type=oneshot ExecStart=/sbin/swapoff -a [Install] WantedBy=multi-user.target
Активируйте службу:
sudo systemctl enable disable-swap.service
Заключение
Теперь, когда вы выполните указанные шаги, отключение свопа будет устойчивым к перезагрузке. Это решение особенно важно для Kubernetes, поскольку работа контейнеров в среде без свопа может значительно повысить производительность и стабильность системы. Используя данные рекомендации, вы сможете успешно управлять настройками свопа в вашей системе.
Соблюдая эти инструкции, вы гарантируете, что необходимость повторного выполнения команды swapoff -a
более не возникнет.