2016-02-09 97 views
0

我试图通过docker在核心i5 @ 2.30GHz机器上运行4GB RAM的restcomm。 OS是Ubuntu 14服务器版本,所以没有GUI的开销。运行RestComm的最低要求是什么?

当容器启动时,内存被充分利用,CPU负载变得疯狂,容器没有按顺序响应。

我知道我提供的细节非常含糊,但我无法找到任何文档中的最低要求,并且无法弄清楚为什么内存和CPU过载。

+2

原则上,码头使用的资源不应该比非码头安装多很多。差异化因素以及它吞噬太多记忆的原因是负责端口映射的'码头代理'流程。出于某种原因,每个端口都映射到系统中的一个单独进程中,并且如果将所有这些端口相加,则在Restcom中可以轻松获得大约3.2 Gb的额外内存!似乎码头工人仍在工作:https://github.com/docker/docker/issues/11185。您也可以尝试一些在此处找到的解决方法。 – atsakiridis

回答

1

添加@ratesakiridis提到。您可以减少暴露的端口数量,因此消耗更少的内存。使用下面的命令要消耗更少的内存,因为我们只打开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中)。

其中一个使用-Xms=2048和另一个-Xms=1048(是的,这不是一个错字...至少,不是我的错字:)),这意味着容器需要至少~3GB的RAM跑。

即使您的系统有足够的内存,请确保docker可以使用此内存。 (我的默认值是2GB)。

相关问题