docker - 为每个容器分配 CPU
问题描述
我浏览了 DCA 考试题,发现两个相同的问题有不同的答案。谁能告诉我哪个是正确的以及为什么它是正确的?
一台主机有四个可用的 CPU 和两个正在运行的容器。系统管理员想为每个容器分配两个 CPU。以下哪个命令可以实现这一点?
- 将 'dockerd' 进程的 '--cpuset-cpus' 标志设置为值 'even-spread'
- 在一个容器上将“--cpu-quota”标志设置为“1.3”,在另一个容器上设置“2,4”。
- 将两个容器上的“--cpuset-cpus”标志设置为“.5”
- 在一个容器上将“--cpuset-cpu”标志设置为“1.3”,在另一个容器上设置“2.4”。
解决方案
一些解释:
--cpu-quota
: --cpu-quota 选项指定容器在 --cpu-period 指定的时间段内可以访问 CPU 资源的微秒数。
--cpuset-cpus
:如果您的系统中有超过 1 个 CPU,那么您需要使用此选项来指定容器从哪个 CPU 使用多少 CPU。
示例:如果您每个有 3 个 CPU 和 2 个核心,那么现在您需要非常具体地说明您的容器需要使用 3 个 CPU 中的哪个,以及容器是否要部分使用多个 CPU。(如果您看不懂,请再读一遍)。
选项讨论:
dockerd
与容器 CPU 使用率无关。--cpu-quota
指定容器使用 CPU 的毫秒数。这意味着它不会将 CPU 分配给容器。--cpuset-cpus
确实将 CPU 分配给容器,但您需要以逗号/连字符分隔的 CPU 指定。这里。
--cpuset-cpus
通过指定将 1 和 3 CPU 用于第一个容器,将 2 和 4 CPU 用于第二个容器,将 CPU 分配给容器。
推荐阅读
- c# - 我想在 C# 中使用 mdb 查询在列之间放置一列
- c++ - 使用 boost::smatch 在 valgrind 中读取大小 1 无效
- curl - curl 有时在并发 Github 操作构建中失败
- ios - 如何在iOS中绘制类似图形的平行四边形?
- python - 使用 imaplib 和 python 检查电子邮件是否已读或未读?
- mongodb - MongoDB Compass 错误 - 应为“[”或 AggregationStage,但找到“{”。当我尝试在 $group 中使用 $sum
- vue.js - 如何在 Nuxt 中使用 eventHub?
- android-studio - 数据在共享首选项中完美保存,但是当我重新打开数据时,数据没有保留在共享首选项中
- python - SCAPY:无法使用 FormRequest.from_response() __scrape__ 页面
- javascript - 隐藏凌乱的渲染页面,直到 DomContentLoaded