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

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

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

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

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

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

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

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

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

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

  • <service_name>

здесь <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. Перезапустить платформу для обновления ограничений потребляемой оперативной памяти, выполнив следующую команду в директории с дистрибутивом:

    sudo ./run.sh --restart