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