Просмотр текущих ограничений потребления оперативной памяти
Чтобы выяснить текущие заданные ограничения для сервиса, необходимо выполнить следующую команду:
sudo docker service inspect --format='{{json .Spec.TaskTemplate.Resources.Limits}}' <service_name>
- <service_name>
здесь <service_name> - имя сервиса, для которого необходимо выяснить заданные ограничения
В поле "MemoryBytes" будет указано ограничение потребляемой оперативной памяти в байтах
Временное ограничение потребления оперативной памяти
Для ограничения потребления оперативной памяти сервисом после запуска платформы необходимо выполнить следующую команду:
sudo docker service update --limit-memory <X>m <service_name>
- <X>
здесь <X> - максимальный объём оперативной памяти, указывается в мегабайтах.
- <service_name>
здесь <service_name> - имя сервиса, для которого задаются ограничения.
Подробнее можно прочитать по ссылке:
https://docs.docker.com/engine/reference/commandline/service_update/
В данном случае ограничение будет действовать до перезапуска платформы. Чтобы ограничение применялось всегда, необходимо отредактировать файл vitalk.yml
Постоянное ограничение потребления оперативной памяти
Для постоянного ограничения потребления оперативной памяти 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