【问题标题】:Docker cpu shares and garant minimum allocated CPU for containerDocker cpu 共享并保证容器的最小分配 CPU
【发布时间】:2016-10-05 08:01:44
【问题描述】:

我开发了一个应用程序,该应用程序在我的开发盒上的三个容器中运行,带有一个带有超线程的四核,这意味着系统和 docker 需要使用 8 个内核。

容器的 CPU 分配由 docker-compose 完成,如下所示:

  • redis: cpu_shares: 1024
  • mysql: cpu_shares: 1024
  • 应用程序:cpu_shares:4096

我对 redis 的请求超时感到困扰。负载是最小的,但是 redis 的利用率是爆发式的,中断时间更长,至少在开发环境中是这样。

因此,我假设 docker 没有为 redis 容器分配足够的 CPU 份额。我想已经准备好在 redis 上放置一个持续的人工负载,让 docker 为其分配更多的 CPU 份额。

还有其他方法可以确保容器的特定 CPU 份额吗?

【问题讨论】:

    标签: docker redis docker-compose docker-for-mac


    【解决方案1】:

    使用 Docker for Mac,您的容器都在 HyperKit 虚拟机中运行。虚拟机分配的 CPU 和内存是 Mac 上的总内存的子集。

    您可以在 Preferences 中更改分配 - 默认情况下,Docker VM 有 2 个 CPU 和 2GB RAM。

    【讨论】:

    • 如果我为 docker for mac 分配了 2 个 cpu,是否意味着即使我的 docker VM 空闲,我的所有 mac 应用程序最多只能使用 N - 2 个内核?
    猜你喜欢
    • 1970-01-01
    • 2017-12-13
    • 1970-01-01
    • 2015-01-06
    • 2021-10-03
    • 2021-01-17
    • 2018-06-05
    • 2021-03-29
    • 2020-06-01
    相关资源
    最近更新 更多