cpu_shares,cpu_period和cpu_quota在OpenStack的风格定制中

我正在阅读OpenStack云pipe理员指南。 在Flavors自定义主题中的第47页上定义了下列术语。

可选的cpu_shares元素指定域的比例加权份额。 如果省略该元素,则该服务默认为OS提供的默认值。 没有价值的单位,这是一个基于其他虚拟机设置的相对度量。 例如,configuration值为2048的虚拟机将获得两倍于configuration值为1024的虚拟机的CPU时间。

可选的cpu_period元素指定QEMU和LXCpipe理程序的执行间隔(单位:微秒)。 在一段时间内,域中的每个VCPU将不被允许消耗超过配额的运行时间。 该值应该在[1000,1000000]的范围内。 值为0的时期意味着没有价值。

可选的cpu_quota元素指定允许的最大带宽(单位:微秒)。 具有任何负值的配额的域指示该域具有无限带宽,这意味着它不受带宽控制。 值应该在[1000,18446744073709551]或小于0的范围内。值为0的配额表示没有值。 您可以使用此function确保所有vcpus以相同的速度运行。 一个例子:

nova flavor-key m1.low_cpu set cpu_quota=10000 nova flavor-key m1.low_cpu set cpu_period=20000 

在这个例子中,m1.low_cpu的实例最多只能消耗一个物理CPU计算能力的50%的CPU。

我的问题

什么是cpu_period。 在上面的例子中,值20000表示什么。

什么是cpu_quota。 在上面的例子中,值10000表示什么。

任何人都可以请详细说明一下吗?

在给定的例子中, cpu_period是20,000微秒, cpu_quota 10,000微秒。

对于每个20,000μs的时间, m1.low_cpu允许使用10,000μs的处理器时间。

来源:我读了3次引用的文字。