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使用资源的比例。

相关推荐
我叫黑大帅21 分钟前
基于 Docker + Watchtower 自动化部署后端服务
后端·docker·面试
念恒1230624 分钟前
Docker(容器技术发展史)
docker·容器
eggcode36 分钟前
腾讯云使用Docker模板的学习记录
学习·docker·腾讯云
YuanDaima20481 小时前
Docker 核心架构与底层技术原理解析
运维·人工智能·docker·微服务·容器·架构·个人开发
殇尘2 小时前
Docker + VSCode 搭建开发环境沙箱
vscode·docker·容器
汪汪大队u4 小时前
从 Docker Compose 到 Kubernetes:物联网管理系统迁移实战(3)—— 两个运维坑
运维·docker·kubernetes
smileNicky4 小时前
CentOS 8 安装 Docker 超详细教程
docker·eureka·centos
念恒123064 小时前
Docker基础
运维·docker·容器
杂家5 小时前
Docker 容器端口无法从外部访问
运维·服务器·docker·容器
其实防守也摸鱼5 小时前
[特殊字符] Docker + LMArena2API 部署全流程:从环境准备到接口调用,一步到位
运维·网络·安全·web安全·docker·容器·大模型