Ограничение ресурсов для сервиса

Просмотр текущих ограничений потребления оперативной памяти

Чтобы выяснить текущие заданные ограничения для docker-сервиса, необходимо выполнить следующую команду:

docker service inspect --format='{{json .Spec.TaskTemplate.Resources.Limits}}' <service_name>

где <service_name> – имя docker-сервиса, для которого необходимо выяснить заданные ограничения.

В поле MemoryBytes будет указано ограничение потребляемой оперативной памяти в байтах.

Временное ограничение потребления оперативной памяти

Для ограничения потребления оперативной памяти docker-сервисом после запуска платформы необходимо выполнить следующую команду:

docker service update --limit-memory <X>m <service_name>

где

  • <X> – максимальный объём оперативной памяти, указывается в мегабайтах.

  • <service_name> – имя docker-сервиса, для которого задаются ограничения.

Более подробную информацию можно найти, пройдя по ссылке: https://docs.docker.com/engine/reference/commandline/service_update/ .

В данном случае ограничение будет действовать до перезапуска платформы. Чтобы ограничение применялось всегда, необходимо отредактировать соответствующий компонент в yml-файле.

Постоянное ограничение потребления оперативной памяти сервисом visiology_vitalk-core

  1. Для постоянного ограничения потребления оперативной памяти ViTalk необходимо отредактировать файл vitalk.yml. Нужно перейти в секцию x-deploy-vitalk-core:

    x-deploy-vitalk-core: &deploy_vitalk_core deploy: << : *placement resources: limits: memory: 6GB
  2. В поле memory задать необходимое ограничение.

    Для работы ViTalk необходимо как минимум 3Гб оперативной памяти. При настройке, во время первого запуска, будет выведено сообщение с рекомендуемым объёмом оперативной памяти.

  3. Перезапустить платформу для обновления ограничений потребляемой оперативной памяти, выполнив следующую команду в директории с дистрибутивом: