docker资源管理之CPU使用率限制

   日期:2020-08-31     浏览:108    评论:0    
核心提示:目前的cpu使用率,第一个mapper进程(docker运行的),使用率20%左右。如果你在Linux 上安装了Docker,你就会发现所有子系统的目录下都有一个名为docker 的目录cpu.cfs_quota_us 文件中的内容能够对CPU 的使用作出限制.[quota]通过修改docker配置文件,来对cpu使用率做限额路径如下:cd /sys/fs/cgroup/cpu/docker/+dockerid这里我们把限制改为10000,表示使用百分之十的cpu(总的时间片

目前的cpu使用率,第一个mapper进程(docker运行的),使用率20%左右。

如果你在Linux 上安装了Docker,你就会发现所有子系统的目录下都有一个名为docker 的目录

cpu.cfs_quota_us 文件中的内容能够对CPU 的使用作出限制

通过修改docker配置文件,来对cpu使用率做限额

路径如下:

cd /sys/fs/cgroup/cpu/docker/+dockerid

这里我们把限制改为10000,表示使用百分之十的cpu(总的时间片是100000,也就是100ms)。

echo 10000 > cpu.cfs_quota_us

这时候可以看到第一个mapper进程,cpu的使用率在10%左右,我们设置的配额是一个上限值。

除了修改配置文件,还可以在Docker run 命令 添加CPU 限制相关参数

选项

描述
--cpuset-cpus="" 允许使用的 CPU 集,值可以为 0-3,0,1
-c,--cpu-shares=0 CPU 共享权值(相对权重)
cpu-period=0 限制 CPU CFS 的周期,范围从 100ms~1s,即[1000, 1000000]
--cpu-quota=0 限制 CPU CFS 配额,必须不小于1ms,即 >= 1000
--cpuset-mems="" 允许在上执行的内存节点(MEMs),只对 NUMA 系统有效

Linux 通过 CFS(Completely Fair Scheduler,完全公平调度器)来调度各个进程对 CPU 的使用。CFS 默认的调度周期是 100ms。

例如:

将 CFS 调度的周期设为 100000,将容器在每个周期内的 CPU 配额设置为 20000,表示该容器每 100ms 可以得到 20% 的 CPU 运行时间。

docker run -it --cpu-period=100000 --cpu-quota=20000 ubuntu:16.04 /bin/bash

详细的可以使用docker run --help查看。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服