0

我开发了一个应用程序,该应用程序在我的开发盒上的三个容器中运行,带有一个带有超线程的四核,这意味着系统和 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 份额?

4

1 回答 1

0

使用 Docker for Mac,您的容器都在 HyperKit VM 中运行。VM 分配了 CPU 和内存,这是 Mac 上总内存的一个子集。

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

于 2016-10-05T08:55:53.073 回答