首页 > 解决方案 > 在 docker-compose 中设置 CPU 使用率

问题描述

我正在使用 docker-compose 2.4 版并且还有 docker-compose,我正在使用 buildbot

构建时间太长,我想在做 docker stats 时尽可能使用 docker cpu 使用率,它使用 cpu 从 0% 到 200%

所以,我设置 docker-compose(ver.2.4) 如下

services:
  worker:
    build:
      context: "./worker"
      dockerfile: "Dockerfile"
    cpu_count: 32
    cpu_percent: 100
    cpus: 32

当我在服务器上执行“top”时,docker-worker 进程仅使用 1.7% 的 cpu。

我如何为 docker-compose (worker) 分配 32 个 cpu?

先感谢您

标签: dockerdocker-compose

解决方案


分配资源并不意味着它将开始使用您在docker-compose文件中指定的所有或最大资源。

当您运行top它时,它会返回您的 docker 容器的实际使用情况。也就是说1.7%,它可以扩展到32或您在 Docker 配置中为任何资源指定的任何值。

您期望 Docker 应该使用其最大资源的状态在这种情况下会发生什么?当它消耗所有分配的内存时,请参见内存示例。

内存不足异常 (OOME)

如果您的服务或容器尝试使用比系统可用内存更多的内存,您可能会遇到内存不足异常 (OOME),并且容器或 Docker 守护程序可能会被内核 OOM 杀手杀死。为防止这种情况发生,请确保您的应用程序在具有足够内存的主机上运行,​​并参阅了解内存不足的风险。


推荐阅读