2016-02-09 95 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)。

相關問題