【问题标题】:Can we limit the CPU resources for containers running on PCF?我们可以限制在 PCF 上运行的容器的 CPU 资源吗?
【发布时间】:2018-04-09 12:01:53
【问题描述】:

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

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

【问题讨论】:

    标签: linux linux-kernel cloud-foundry cf-bosh


    【解决方案1】:

    这在 Cloud Foundry 上自动发生。

    在 Cloud Foundry 上运行的应用程序受到 CPU 份额的限制(与 docker 的 --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 参数。

    【讨论】:

    • 感谢丹尼尔非常明确的回答。只是想根据文档再问一个问题,我可以看到 CPU% 是根据内存和 CPU 份额计算的。但是我从哪里知道为我的容器分配了多少份额?因此,我可以预测为我的容器分配的 CPU%。
    • 该信息(确切的共享数量)不会暴露给最终用户/开发人员,至少目前不会。如果您现在想看到这个,您需要操作员级别的访问权限,并且您需要通过 SSH 连接到运行您的应用程序的 Diego Cell。希望将来会公开更多的 CPU 指标,包括这个。
    • 是否也可以限制I/O?
    • 您可以写入的文件数量有限制(即磁盘配额),但您可以写入它们的速度没有限制(在我写这篇文章时)。
    猜你喜欢
    • 2021-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-24
    • 1970-01-01
    • 2022-07-16
    • 1970-01-01
    • 2020-02-24
    相关资源
    最近更新 更多