Docker 服务限制和保留

标签 docker

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)

  1. 在这种情况下limit和reserve有什么区别?

  2. 这里的cpu值是什么意思?这是否意味着核心数量? cpu份额?单位是什么?

最佳答案

Reserve 将这些资源保存在主机上,因此它们始终可用于容器。考虑专用资源。

Limit 防止容器内的二进制文件使用更多。想想在容器中控制失控的进程。

基于我对 stress 的有限测试, --limit-cpu 是核心的百分比,但如果有多个线程,它会将这些线程分散到核心中,并且似乎试图将总数保持在您期望的附近。

在下图中,从左到右依次是 --limit-cpu 4、2.5、2、1。所有这些测试都将压力设置为 CPU 为 4(工作线程)。

enter image description here

关于Docker 服务限制和保留,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38200028/

相关文章:

git - Wiki.js不适用于预先存在的存储库

docker - Travis条件构建-如何跳过主分支以外的部署阶段

docker daemon 启动失败 : inotify_add_watch: no such file or directory

java - 如何在java中查找非堆空间内存泄漏?

ruby-on-rails - 如何在保留所有者和权限的同时从数据容器装载卷?

postgresql - Postgres Docker 图像 : Failed to map database to host

mysql - ERROR 1582 (42000) 调用 native 函数时参数计数不正确 'FROM_UNIXTIME'

windows - 尝试使用 Install-Module 在 Windows Server 2016 中安装 Docker 时出错

mysql - 无法将 CSV 加载到 MySQL -(OS errno 13 - 权限被拒绝)

linux - 如何使用 json 数组格式为 Docker ENTRYPOINT 运行多个语句?