我们可以限制在PCF上运行的容器的CPU资源吗?

时间:2018-04-09 12:01:53

标签: linux linux-kernel cloudfoundry pivotal-cloud-foundry cloud-foundry-bosh

因为我们可以限制Docker(--cpus cmd)和Kubernetes(-cpulimit)平台上的容器的CPU资源。

有没有办法限制在PCF上运行的应用程序的CPU?

1 个答案:

答案 0 :(得分:1)

这在Cloud Foundry上自动发生。

在Cloud Foundry上运行的应用程序受限于CPU份额(与docker' s --cpu-shares选项相同)。分配给应用程序的CPU份额数量与应用程序的内存限制大小相同。更多内存意味着更多CPU份额。

确切的股票数量并不重要,只是重要的比例。如果您的应用程序拥有比在Cell上运行的其他应用程序更多的共享,那么它将获得更多的CPU时间。如果它的份额较少,那么它的时间就会减少。您可以使用内存限制来衡量应用是否比Cell上运行的其他应用更小,相同或更大。

棘手的部分是没有简单的方法来判断Cell上还有其他什么,而不是作为操作员并且看着Cell。希望将来可以通过Loggregator公开CPU共享信息和限制指标,因为这样可以更容易理解您的应用程序如何利用它获得的CPU时间。

如果要查看用于确定CPU份额的确切公式,可以查看此文档链接。它更深入地解释了平台如何进行这些计算。

https://docs.cloudfoundry.org/concepts/container-security.html#cpu

目前无法根据CPU内核的数量来限制CPU使用率,例如Docker的--cpus参数。