考虑其CPU限制的Docker容器的调度

时间:2019-02-11 16:12:31

标签: docker docker-container cfs

阅读Docker的"Limit a container's resources"文档后,我发现可以配置CFS调度程序或实时调度程序来指定容器的CPU限制。在这方面,我有三个问题:

  1. 在多核环境中使用--cpus命令指定限制时,如何在CPU上调度容器?假设我们有4个核心,并通过--cpus=1.4指定限制。据我了解,该命令说该容器最多可以使用140%的CPU周期。但是,在此示例中,可以以多种方式为这四个CPU安排这140%的时间。两种可能的选择是:

    • 核心1的100%周期+核心2的40%周期
    • 核心1的60%周期+核心2的40%+核心3的40%

有什么方法可以预先知道将使用哪个“映射”?

  1. 使用--cpu-period=p--cpu-quota=q命令指定限制时,容器可以在每个 p us <中使用CPU,直到 q us < / em>。容器在 q us 期间是否连续运行(不会被抢占)?可以说“ q us ”何时开始?

  2. 我的第三个问题是关于CFS调度程序和实时调度程序之间的区别。根据文档,您可以指定

  

在Docker守护程序的实时调度程序周期内,容器可以以实时优先级运行的最大微秒数。

使用--cpu-rt-runtime命令。因此,这类似于使用CFS调度程序时指定期间和配额的情况。但是,调度程序保证其服务的程度必须有所不同。有人知道这些保证水平吗?

谢谢。

0 个答案:

没有答案