Docker的Mesos/Marathon内存使用限制
我们使用mesos Marathon创建了一个wordpress容器,我们分配了0.1 CPU和64mb RAM 当我们检查docker统计数据时,我们发现内存分配与marathon中分配的内存不同, 是否有任何方法可以更新Docker容器的内存使用限制,我们是否可以在demon级别为所有容器设置任何默认限制。(通过Mesos/Docker demon级别) 我们试着在WordPress站点上做负载测试,容器因为仅仅500个连接而被杀死,我们试着用JMeter做负载测试Docker的Mesos/Marathon内存使用限制,docker,containers,mesos,marathon,Docker,Containers,Mesos,Marathon,我们使用mesos Marathon创建了一个wordpress容器,我们分配了0.1 CPU和64mb RAM 当我们检查docker统计数据时,我们发现内存分配与marathon中分配的内存不同, 是否有任何方法可以更新Docker容器的内存使用限制,我们是否可以在demon级别为所有容器设置任何默认限制。(通过Mesos/Docker demon级别) 我们试着在WordPress站点上做负载测试,容器因为仅仅500个连接而被杀死,我们试着用JMeter做负载测试 提前感谢Docker尚未
提前感谢Docker尚未为您的Docker守护程序提供内存选项。至于容器的默认内存限制是什么,您只能使用以下选项在运行时(而不是在运行后)设置限制:
-m, --memory="" Memory limit
--memory-swap="" Total memory (memory + swap), '-1' to disable swap
依照
我还看到还有一个悬而未决的问题。确保您使用的是Mesos(0.22.1)或更高版本
用类似于马拉松请求的东西创建容器怎么样
curl -X POST -H "Content-Type: application/json" http://<marathon-server>:8080/v2/apps -d@helloworld.json
helloworld.json:
{
"id": "helloworld",
"container": {
"docker": {
"image": "ubuntu:14.04"
},
"type": "DOCKER",
"volumes": []
},
"cmd": "while true; do echo hello world; sleep 1; done",
"cpus": 0.1,
"mem": 96.0, # Update the memory here.
"instances": 1
}
curl-xpost-H“内容类型:application/json”http://:8080/v2/apps-d@helloworld.json
helloworld.json:
{
“id”:“helloworld”,
“容器”:{
“码头工人”:{
“图片”:“ubuntu:14.04”
},
“类型”:“DOCKER”,
“卷”:[]
},
“cmd”:“while true;do echo hello world;sleep 1;done”,
“CPU”:0.1,
“mem”:96.0,在这里更新内存。
“实例”:1
}
Hi Ricardo,我们可以这样做,但是我们在Mesos上遇到了一个问题,一旦将优惠分配给任何matathon应用程序(Docker容器),即使容器没有使用这些分配的资源,Mesos认为优惠已经分配。例子。。我们有3个mesos从站,都是相同的,有4个内核和4GB内存,我们有20个马拉松应用程序,都是相同的,有0.5core和0.5GB。这意味着分配了10个内核和10GB(即使它们正在使用或未使用),如果我尝试为另一个Marathon应用程序配置3cores和3GB RAM,Mesos正在分配资源,但应用程序仍处于部署中。我们如何永久添加“memory.limit_in_bytes”、“memory.max_usage_in_bytes”以便在我安装容器时,它可以继承这些值并启动容器。要利用Mesos中的分配松弛,您可以尝试超额订阅()。不要认为您可以动态修改资源。尝试像提到的@rukletsov那样的超额认购