Docker参数--cpus是否指代逻辑CPU处理器?
关于Docker --cpus 参数的计数单位说明
--cpus 参数中的计数单位确实指代逻辑CPU处理器(即超线程开启后系统识别到的线程/vCPU单位),而非物理CPU硬件或物理CPU核心。
该参数基于Linux内核的CFS调度器带宽限制能力实现,其数值本质是分配给容器的CPU时间配额上限,计算基准为主机的总逻辑CPU数量:
- 若你的主机开启超线程后总共有12个逻辑CPU,设置
--cpus=3就代表容器最多可以占用相当于3个逻辑CPU的总算力,也就是主机总CPU算力的25% - 如果你指定的
--cpus数值超过主机总逻辑CPU数,容器最多也只能跑满主机的全部CPU算力
三类CPU相关单位的区别参考:
- 物理CPU:主机主板上实际安装的物理CPU硬件数量
- CPU物理核心:单个物理CPU内部集成的独立运算核心单元,未开启超线程时1个物理核心对应1个逻辑CPU
- 逻辑CPU:开启超线程技术后,1个物理核心可被模拟为多个并行的逻辑运算单元,也就是
--cpus参数计数的基准单位
内容的提问来源于stack exchange,提问作者user7693832
相关产品推荐
相关产品推荐

