在使用Docker运行容器时,一台主机上可能会运行几百个容器,这些容器虽然互相隔离,但是底层却使用着相同的cpu、内存和磁盘资源。
为了限制容器能使用的 CPU 核数,docker 提供了 --cpus 参数可以限定容器能使用的 CPU 核数。这个功能可以让我们更精确地设置容器 CPU 使用量。
--cpus 后面跟着一个浮点数,代表容器最多使用的核数,可以精确到小数点二位,也就是说容器最小可以使用 0.01 核 CPU。
如果设置的 --cpus 值大于主机的 CPU 核数,docker 会出现下面类似报错:
Range of CPUs is from 0.01 to 1.00, as there are only 1 CPUs available
错误信息说明主机只有1个核,cpus参数可以设置为0.01~1之间,而docker设置的参数大于这个范围,故报错。
注:
怎么查看主机的cpu核数?
查看CPU信息(型号)
#cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
1 Intel(R) Xeon(R) CPU E5-2430 0 @ 2.20GHz
# 查看物理CPU个数
#cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
1
# 查看每个物理CPU中core的个数(即核数)
#cat /proc/cpuinfo| grep "cpu cores"| uniq
cpu cores : 1
# 查看逻辑CPU的个数
#cat /proc/cpuinfo| grep "processor"| wc -l
1
参考:https://cizixs.com/2017/08/04/docker-resources-limit/