如何限制mysql的cpu使用率??_Docker 多种维度限制容器可用的 CPU

本文介绍了如何在Docker中限制容器使用的CPU资源,以防止MySQL等应用过度消耗CPU。通过--cpus选项可以指定容器使用的CPU数量,--cpuset-cpus选项可固定容器运行的CPU核心,--cpu-shares则用于设置CPU权重,控制容器间CPU资源的分配。这些方法有助于避免主机CPU资源耗尽导致的问题。
摘要由CSDN通过智能技术生成

默认情况下容器可以使用的主机 CPU 资源是不受限制的。和内存资源的使用一样,如果不对容器可以使用的 CPU 资源进行限制,一旦发生容器内程序异常使用 CPU 的情况,很可能把整个主机的 CPU 资源耗尽,从而导致更大的灾难。本文将介绍如何限制容器可以使用的 CPU 资源。

本文的 demo 中会继续使用《Docker: 限制容器可用的内存》一文中创建的 docker 镜像 u-stress 进行压力测试,文中就不再过多的解释了。

限制可用的 CPU 个数

在 docker 1.13 及更高的版本上,能够很容易的限制容器可以使用的主机 CPU 个数。只需要通过 --cpus 选项指定容器可以使用的 CPU 个数就可以了,并且还可以指定如 1.5 之类的小数。接下来我们在一台有四个 CPU 且负载很低的主机上进行 demo 演示:

3d295810df3e8054c0bee4b96372187f.png

通过下面的命令创建容器,--cpus=2 表示容器最多可以使用主机上两个 CPU:

$ docker run -it --rm --cpus=2 u-stress:latest /bin/bash

然后由 stress 命令创建四个繁忙的进程消耗 CPU 资源:

# stress -c 4

我们先来看看 docker stats 命令的输出:

0686e594da2ed83983af16833d125a1c.png

容器 CPU 的负载为 200%&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值