Ограничение ресурсов для сервиса
Просмотр текущих ограничений потребления оперативной памяти
Чтобы выяснить текущие заданные ограничения для 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
Для постоянного ограничения потребления оперативной памяти ViTalk необходимо отредактировать файл vitalk.yml. Нужно перейти в секцию "x-deploy-vitalk-core":
x-deploy-vitalk-core: &deploy_vitalk_core deploy: << : *placement resources: limits: memory: 6GB
В поле "memory" задать необходимое ограничение.
Для работы ViTalk необходимо как минимум 3Гб оперативной памяти. При настройке, во время первого запуска, будет выведено сообщение с рекомендуемым объёмом оперативной памяти.
Перезапустить платформу для обновления ограничений потребляемой оперативной памяти, выполнив следующую команду в директории с дистрибутивом:
sudo ./run.sh --restart