Docker绑定CPU

tsx 复制代码
lscpu | grep "CPU(s):"
bash 复制代码
多核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的核心使用

bash 复制代码
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内核的绑定关系

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

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

相关推荐
C Y D23 分钟前
只启动wsl
docker
羑悻的小杀马特1 小时前
零成本搞定!异地访问 OpenClaw 最简方案:SSH 端口映射组网!
运维·服务器·人工智能·docker·自动化·ssh·openclaw
ezreal_pan2 小时前
Kafka Docker 部署持久化避坑指南:解决重启后 Cluster ID 不匹配问题
分布式·docker·zookeeper·容器·kafka·devops
趙卋傑2 小时前
安装Docker
docker·容器
筠·3 小时前
Docker Compose 部署 RocketMQ
docker·rocketmq·java-rocketmq
流年似水~5 小时前
Docker/Kubernetes 实战:从入门到生产级部署
人工智能·程序人生·docker·语言模型·ai编程
从负无穷开始的三次元代码生活5 小时前
Docker生产环境实战从0-1学习基础指南——快速掌握
学习·docker·容器·云技术
KuaCpp5 小时前
Docker从0到1学习
学习·docker·容器
疯狂成瘾者6 小时前
Docker的学习路线
学习·docker·容器