当前位置:首页 > 编程笔记 > 正文
已解决

Docker绑定CPU

来自网友在路上 147847提问 提问时间:2023-10-25 23:45:27阅读次数: 47

最佳答案 问答题库478位专家为你答疑解惑

lscpu | grep "CPU(s):"
多核CPU的服务器Docker还可以控制容器运行限定使用哪些CPU内核,可以使用--cpuset-cpus选项来使某些程序独享CPU核心,
以便提高其处理速度,对应的Cgroup文件为/sys/fs/cgroup/cpuset/docker/容器ID号/cpuset.cpus。
选项后直接跟参数0、1、2……表示第1个内核,第2个内核,第3个内核,与/proc/cpuinfoo中的标号相同。

使新建容器绑定第1~4的核心使用

docker run -itd --cpuset-cpus 0,1,2,3 centos:stress /bin/bash
或者
docker run -itd --cpuset-cpus 0-3 centos:stress /bin/bash
该容器内的进程只会在0,1,2,3,的CPU上运行

如果服务器有16个核心,那么CPU编号为0~15

查看容器中进程与CPU内核的绑定关系

docker exec 5cfdcba3 taskset -c -p 1
pid 1's current affinity list: 0-3	//容器内部第一个进程编号一般为1

尽量使用绑定内核的方式分配CPU资源给容器进程使用,然后再配合–cpu-shares选项动态调整CPU使用资源的比例。

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Docker绑定CPU":http://eshow365.cn/6-24565-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!