从Docker的官方文档里可以看到,在通过Docker run 这条命令启动一个容器时,可以通过–cpu-shares –cpu-period以及–cpu-quota 这三个参数来控制容器对CPU的使用。
–cpu-shares
默认情况下所有容器的share是相同的,也就是所有容器有相同的权重,在所有容器一起竞争资源时,最终得到的资源是相同的。
这个share是一个相对的值,那么这个值的意义就不能单纯通过一个容器的share值来看,而是多个在一起对比,比如A和B两个容器,A配置的是1024,B配置的是512,那么A最大可以使用的CPU资源是B的两倍。还有一点要注意的是,这种配置是有弹性的,如果A容器一直闲着,那B容器是可以使用空闲资源的。
–cpu-period和–cpu-quota
把这两个参数放一起是因为这两个参数是相互配合的。–cpu-period和–cpu-quota 的这种配置叫Ceiling Enforcement Tunable Parameters,–cpu-shares的这种配置叫Relative Shares Tunable Parameters。
–cpu-period是用来指定对CPU的使用要在多长时间内做一次重新分配,而–cpu-quota是用来指定在这个周期内,最多可以有多少时间用来跑这个容器。跟–cpu-shares不同的是,这种配置是指定一个绝对值,而且没有弹性在里面,容器对CPU资源的使用绝对不会超过配置的值。
比如说,A容器配置的–cpu-period=100000 –cpu-quota=50000,那么A容器就可以最多使用50%个CPU资源,如果配置的–cpu-quota=200000,那就可以使用200%个CPU资源。
提示:现在腾讯云新人点击注册然后实名认证后,可以点此一键领取2860元代金券,然后点此进入腾讯云活动页面参加优惠力度非常大的腾讯云3年和5年时长服务器活动,一次性买多年,免得续费贵,这样就可以获得最大的优惠折扣,省钱。
版权声明:xxxxxxxxx;
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态