写点什么

基于 docker 实现对容器的 CPU 和内存的资源限制

作者:忙着长大#
  • 2022-10-30
    广东
  • 本文字数:523 字

    阅读完需:约 2 分钟

通过运行一个压测容器并对其进行资源限制观察资源的限制情况。

内存限制通过 -m 参数控制

 docker run -it --rm  --name magedu-c1 -m 256m  --memory-swap 1024m lorel/docker-stress-ng --vm 2 --vm-bytes 256M
复制代码

执行 docker stats 可以看到容器的资源使用情况

CONTAINER ID   NAME                 CPU %     MEM USAGE / LIMIT   MEM %     NET I/O       BLOCK I/O     PIDSf56cc279b70a   magedu-c1            157.36%   256MiB / 256MiB     99.99%    796B / 0B     38.3GB / 0B   512bf8bc88efc   youthful_mendeleev   0.00%     3.336MiB / 512MiB   0.65%     1.09kB / 0B   0B / 0B       2
复制代码

可以看到容器使用的内存被限制在 256M


cpu 限制通过 --cpus 参数控制

使用 --cpus 给容器限制 0.5cpu,让容器进行 1 个 cpu 的压测

docker run -it --rm  --name magedu-c1 -m 256m  --cpus 0.5 --memory-swap 1024m lorel/docker-stress-ng --vm 2 --vm-bytes 256M --cpu 1
复制代码

通过 docker stats 观察,容器的 cpu 使用被限制在 0.5 个 cpu

CONTAINER ID   NAME        CPU %     MEM USAGE / LIMIT   MEM %     NET I/O     BLOCK I/O     PIDSe08561cf44db   magedu-c1   51.09%    255.9MiB / 256MiB   99.96%    726B / 0B   3.29GB / 0B   6
复制代码


用户头像

忙着长大#

关注

还未添加个人签名 2022-02-09 加入

还未添加个人简介

评论

发布
暂无评论
基于 docker 实现对容器的 CPU 和内存的资源限制_Docker 镜像_忙着长大#_InfoQ写作社区