Docker v1.12 服务带有四个用于设置服务资源限制的标志。
--limit-cpu value Limit CPUs (default 0.000)
--limit-memory value Limit Memory (default 0 B)
--reserve-cpu value Reserve CPUs (default 0.000)
--reserve-memory value Reserve Memory (default 0 B)
在这种情况下limit和reserve有什么区别?
这里的cpu值是什么意思?这是否意味着核心数量? cpu份额?单位是什么?
最佳答案
Reserve 将这些资源保存在主机上,因此它们始终可用于容器。考虑专用资源。
Limit 防止容器内的二进制文件使用更多。想想在容器中控制失控的进程。
基于我对 stress 的有限测试, --limit-cpu 是核心的百分比,但如果有多个线程,它会将这些线程分散到核心中,并且似乎试图将总数保持在您期望的附近。
在下图中,从左到右依次是 --limit-cpu 4、2.5、2、1。所有这些测试都将压力设置为 CPU 为 4(工作线程)。
关于Docker 服务限制和保留,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38200028/