@semki096

Как ограничить ресурсы контейнера Docker?

Прописываю docker run -d m=256m И получаю ошибку "Your kernel does not support swap limit capabilities, memory limited without swap"

Погуглил - пишут что проблема в настройках ядра системы, должен быть файл /sys/fs/cgroup/cpu.rt_runtime_us а у меня его нет. Но в cgroup присутствуют папки с докером, например /sys/fs/cgroup/memory/docker Подозреваю что лимит на память можно и там установить, но я хочу это делать в реальном времени.

В чём может быть моя проблема с ошибкой "Your kernel does not support swap limit capabilities, memory limited without swap"?
  • Вопрос задан
  • 2369 просмотров
Пригласить эксперта
Ответы на вопрос 2
@archisova
Не знаю насколько акутально еще или нет, но предложу для истории свой вариант ответа.

Во-первых, надо проверить, имеется ли в вашей ОС`и (Linux) поддержка механизма контейнеризации: cgroups. Сейчас практически все LINUX дистрибутивы поддерживают данный механизм. Более подробно про данный механизм можно почитать здесь.

Во-вторых, попробуйте указать в загрузчике системы дополнительные параметры запуска ОС, а именно:

Добавьте (или обновите) в файле /etc/default/grub следующую запись:
GRUB_CMDLINE_LINUX_DEFAULT="cgroup_enable=memory swapaccount=1"

Понадобиться перезагрузка системы:
sudo grub-update && sudo reboot
Взято отсюда.
Ответ написан
Комментировать
@Erelecano
Админю сервера, починяю примуса.
> В чём может быть моя проблема с ошибкой "Your kernel does not support swap limit capabilities, memory limited without swap"?

Ваша проблема в том, что ваше ядро не поддерживает данное ограничение. Или в том, что вы не умеете гуглить.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы