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

相关推荐
Hoking19 分钟前
TimescaleDB(PostgreSQL)流复制集群容器化部署(docker-compose)
docker·postgresql·timescaledb·流复制
水星灭绝1 小时前
win11+wsl2+docker
运维·docker·容器
supersolon5 小时前
Windows环境docker安装OpenClaw
docker·ai·docker-compose·openclaw·龙虾
vpk1127 小时前
使用 Docker Compose 快速安装 MongoDB
mongodb·docker·容器
培小新7 小时前
五、Dokcer网络
linux·运维·docker·容器
杭州杭州杭州7 小时前
Docker实验2----4
运维·docker·容器
莫白媛8 小时前
Linux中Docker介绍与使用小白篇
linux·运维·docker
F1FJJ9 小时前
一个 CLI 工具的开源迭代记录:从单二进制到全平台分发
网络·网络协议·docker·golang·开源·开源软件
春日见9 小时前
自动驾驶的四个演进阶段
开发语言·人工智能·驱动开发·matlab·docker·计算机外设
H_老邪10 小时前
Docker 学习之路-从入门到放弃:2
学习·docker·容器