2016-02-09 4 views
0

Я пытаюсь запустить restcomm через докер на ядре i5 @ 2.30GHz с 4 ГБ оперативной памяти. OS - это версия сервера Ubuntu 14, поэтому нет накладных расходов на графический интерфейс.Каковы минимальные требования для запуска RestComm?

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

Я знаю, что детали, которые я предоставляю, очень расплывчаты, но я не мог найти, какие минимальные требования в любой документации и не могу понять, почему память и процессор перегружены.

+2

В принципе, ресурсы, используемые докером, не должны быть намного больше, чем установка без докеров. Дифференцирующий фактор и причина, по которой он потребляет столько памяти, - это процессы «докер-прокси», которые заботятся о сопоставлении портов. По какой-то причине каждый сопоставленный порт приводит к отдельному процессу в системе, и если вы добавите все это, вы можете легко получить около 3,2 Гбайт дополнительной памяти в случае Restcom! Кажется, что докеры все еще работают над этим: https://github.com/docker/docker/issues/11185. Вы также можете попробовать некоторые обходные пути, найденные там. – atsakiridis

ответ

1

Чтобы добавить то, что упоминается в @atsakiridis. Вы можете уменьшить количество открытых портов, чтобы они потребляли меньше памяти. С помощью следующей команды должно потреблять меньше памяти, поскольку мы открываем только 50 портов для СМИ:

docker run -i --name=restcomm-myInstance -v /var/log/restcomm/:/var/log/restcomm/ -e STATIC_ADDRESS="192.168.0.44" -e MEDIASERVER_LOWEST_PORT="65500" -e MEDIASERVER_HIGHEST_PORT="65535" -e ENVCONFURL="https://raw.githubusercontent.com/RestComm/Restcomm-Docker/master/scripts/restcomm_env_locally.sh" -p 80:80 -p 443:443 -p 9990:9990 -p 5060:5060 -p 5061:5061 -p 5062:5062 -p 5063:5063 -p 5060:5060/udp -p 65500-65535:65500-65535/udp restcomm/restcomm:latest 
+0

просто оставляя примечание для тех, кто сталкивается с этим, что переадресация портов не требуется, если вы используете опцию docker '--net = host', которая также является рекомендуемым вариантом для запуска контейнеров restcomm в процессе производства. – gsaslis

1

Это было когда-то, так как ваш вопрос, но мне кажется, :latest докер изображение начинается 2 Java-процессы (как agafox указал в RestComm/RestComm-Docker#109).

Один из 2 процессов использует -Xms=2048 и другие -Xms=1048 (да, это не опечатка ... по крайней мере, не моя опечатка ... :)), то есть контейнер будет необходимо по крайней мере, ~ 3GB оперативной памяти для запустить.

Даже если в вашей системе достаточно памяти, убедитесь, что докеру разрешено использовать эту память. (Мое значение по умолчанию - 2 ГБ).

Смежные вопросы