docker容器CPU周期限制———cpu-period、--cpu-quota(绝对的值)

  • –cpu-period是用来指定容器对CPU的使用要在多长时间内做一次重新分配。
  • –cpu-quota是用来指定在这个周期内,最多可以有多少时间用来跑这个容器。
  • 与–cpu-shares不同:这种配置是指定一个绝对的值,而且没有弹性在里面,容器对CPU资源的使用绝对不会超过配置的值。
cpu-period和cpu-quota的单位为微秒(μs)。cpu-period的最小值为1000微秒,
最大值为1秒(10^6μs),默认值为0.1秒(100000μs)。cpu-quota的值默认认为-1,
表示不做控制。cpu-period、cpu-quota这两个参数一般联合使用。

举个栗子

[root@bogon ~]# docker exec -it cpu1024 /bin/bash^C
[root@bogon ~]# docker run -it --cpu-period 1000000 --cpu-quota 200000 centos:stress /bin/bash
[root@cdead7a259a8 /]# cat /sys/fs/cgroup/cpu/cpu.cfs_period_us 
1000000
[root@cdead7a259a8 /]# cat /sys/fs/cgroup/cpu/cpu.cfs_quota_us  
200000

容器进程需要每1秒使用单个CPU的0.2秒时间,可以将cpu-period设置为1000000(即1秒),cpu-quota设置为200000(0.2秒)。
当然,在多核情况下,如果允许容器进程需要完全占用两个CPU,则可以将cpu-period设置为100000(即0.1秒),cpu-quota设置为200000(0.2秒)。
上一篇:LVM和磁盘配额


下一篇:磁盘管理