美文网首页
docker容器的--cpu-period和--cpu-quot

docker容器的--cpu-period和--cpu-quot

作者: 我是布谷鸟 | 来源:发表于2019-05-22 19:44 被阅读0次

目标:

限制容器的cpu资源上限为每1秒内可以占用cpu0.5秒。

准备:

-centos7
-docker
-stress(用来有效的消耗cpu资源,模拟高负载场景)
-用到参数--cpu-period(周期),--cpu-quota(配额)
-1秒=1000毫秒
-1毫秒=1000选项单位
-1秒=1000000选项单位

过程:

运行容器:
每1秒最多使用0.5秒的cpu

[root@server ~]# docker run -dit --name centos1 --cpu-period=1000000 --cpu-quota=500000 192.168.200.104:5000/centos/stress:latest bash
59c89af717d4606f4a9ec3843ad7fe4d72a81ab81bc299095eab07627aae3952

压力测试(尽量超载):
容器满载的时候占用了50%的cpu

[root@server ~]# docker exec -it centos1 bash
[root@59c89af717d4 /]# stress -c 4 
[root@server ~]# docker stats centos1
stress: info: [29] dispatching hogs: 4 cpu, 0 io, 0 vm, 0 hdd
CONTAINER           CPU %               MEM USAGE / LIMIT    MEM %               NET I/O             BLOCK I/O           PIDS
centos1             50.07%              968 KiB / 3.86 GiB   0.02%               648 B / 648 B       5.895 MB / 0 B      0

成功!

测试:

也可以设置上限为2个cpu(200%)。
每1秒可以使用2秒的cpu

[root@server ~]# docker run -dit --name centos1 --cpu-period=1000000 --cpu-quota=2000000 192.168.200.104:5000/centos/stress:latest bash 
64428831a83319325d685c762e75306e5a45a75eeaa01979eeede758b5f68e65
root@server ~]# docexec -it centos1 bash
[root@64428831a833 /]# stress -c 4
stress: info: [28] dispatching hogs: 4 cpu, 0 io, 0 vm, 0 hdd
[root@server ~]# docker stats centos1
CONTAINER           CPU %               MEM USAGE / LIMIT    MEM %               NET I/O             BLOCK I/O           PIDS
centos1             201.48%             968 KiB / 3.86 GiB   0.02%               648 B / 648 B       5.886 MB / 0 B      0

本机有四个内核(设置上限为2000%):

[root@server ~]# docker run -dit --name centos1 --cpu-period=1000000 --cpu-quota=20000000 192.168.200.104:5000/centos/stress:latest bash
4ac343f7b5e8a87118e10821b0a252013aeb08e9cbfed86cd2a691b699464d19
[root@server ~]# docker exec -it centos1 bash
[root@4ac343f7b5e8 /]# stress -c 10
stress: info: [35] dispatching hogs: 10 cpu, 0 io, 0 vm, 0 hdd
[root@server ~]# docker stats centos1
CONTAINER           CPU %               MEM USAGE / LIMIT      MEM %               NET I/O             BLOCK I/O           PIDS
centos1             417.47%             1.098 MiB / 3.86 GiB   0.03%               648 B / 648 B       5.878 MB / 0 B      0

总结:

配额超过100%前,--cpu-period和--cpu-quota选项是以一个cpu为基准,如果配额超过(100%*宿主机内核数量)则为无限制。

相关文章

  • docker容器的--cpu-period和--cpu-quot

    目标: 限制容器的cpu资源上限为每1秒内可以占用cpu0.5秒。 准备: -centos7-docker-str...

  • Docker 笔记

    Docker 笔记来源:https://docs.docker.com/ 和 《docker 容器和容器云》 此笔...

  • 清理docker日志、镜像

    docker默认容器日志文件位置/var/lib/docker/containers/docker默认容器存储和镜...

  • 常用docker命令

    docker进入容器: docker查看容器ip docker重启容器 docker 启动容器 docker复制宿...

  • CI/CD之Docker容器DevOps知识汇总

    容器与虚拟主机的区别 Docker安装 Docker的镜像和容器 Docker的网络 Docker的持久化存储和数...

  • docker 容器互联

    docker 容器互联 docker 容器互联总结的是在同一台宿主机上,多个 docker 容器文件共享和网络互联...

  • docker之容器互联

    容器命令回顾 容器的启动和结束docker start IMAGE_ID 启动容器docker stop IMAG...

  • 快来学Docker(一):Docker简介

    Docker简介 容器与容器云 基本概念 Docker是以Docker容器为资源分割和调度的基本单位, 封装整个软...

  • docker 常用命令

    批量删除镜像和容器 删除无用中间镜像 以docker root 进入容器 查看docker 容器耗费资源

  • docker 常用命令

    运行中的容器docker ps 查看所有容器docker ps -a 进入容器docker -it 容器id ...

网友评论

      本文标题:docker容器的--cpu-period和--cpu-quot

      本文链接:https://www.haomeiwen.com/subject/mukpzqtx.html