阅读Docker的"Limit a container's resources"文档后,我发现可以配置CFS调度程序或实时调度程序来指定容器的CPU限制。在这方面,我有三个问题:
在多核环境中使用--cpus
命令指定限制时,如何在CPU上调度容器?假设我们有4个核心,并通过--cpus=1.4
指定限制。据我了解,该命令说该容器最多可以使用140%的CPU周期。但是,在此示例中,可以以多种方式为这四个CPU安排这140%的时间。两种可能的选择是:
有什么方法可以预先知道将使用哪个“映射”?
使用--cpu-period=p
和--cpu-quota=q
命令指定限制时,容器可以在每个 p us <中使用CPU,直到 q us < / em>。容器在 q us 期间是否连续运行(不会被抢占)?可以说“ q us ”何时开始?
我的第三个问题是关于CFS调度程序和实时调度程序之间的区别。根据文档,您可以指定
在Docker守护程序的实时调度程序周期内,容器可以以实时优先级运行的最大微秒数。
使用--cpu-rt-runtime
命令。因此,这类似于使用CFS调度程序时指定期间和配额的情况。但是,调度程序保证其服务的程度必须有所不同。有人知道这些保证水平吗?
谢谢。