5

单个 docker 容器适用于较少数量的并行进程,但是当我们将并行进程的数量增加到 20-30 时,进程执行速度会变慢。进程越来越慢,但 docker 仍然只使用了 30-40% 的 cpu。

我已经尝试过以下事情以使 docker 使用正确的 cpu 并且不减慢进程 -

  1. 我已将 cpu 和 ram 明确分配给 docker 容器。
  2. 我还使用 ulimit 增加了文件描述符的数量、进程数量和堆栈大小。

即使做了这两件事,容器仍然没有正确利用 cpu。我正在使用 docker exec 在单个运行的容器中启动多个进程。是否有任何有效的方法可以使用单个 docker 容器来执行多个进程或使容器使用 100% 的 cpu?

我正在使用的配置是

服务器 - aws ec2 t2.2Xlarge(8 核,32 GB 内存)

Docker 版本 - 18.09.7

Os- Ubuntu 18.04

4

1 回答 1

0

当您在机器上运行某些东西时,它会消耗以下资源:1。CPU 2. RAM 3. 磁盘 I/O 4. 网络带宽。如果您的容器正在耗尽上面列出的任何一种资源,那么其他资源可能会耗尽。因此,请监控您的系统矩阵以找到根本原因。

于 2019-07-18T11:31:55.113 回答