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

相关推荐
R-G-B1 小时前
【P1】win10安装 Docker教程
运维·docker·容器
Java小学生丶3 小时前
非常简单的基于 Docker 自建 RustDesk 远程桌面教程
docker·远程桌面·异地组网
驾驭人生4 小时前
Docker中安装 redis、rabbitmq、MySQL、es、 mongodb设置用户名密码
redis·docker·rabbitmq
灰勒塔德5 小时前
ubuntu 部署 gitlab docker服务
docker·容器·gitlab
深蓝电商API9 小时前
云原生爬虫:使用Docker和Kubernetes部署与管理分布式爬虫集群
docker·kubernetes
啟明起鸣10 小时前
【Go 与云原生】让一个 Go 项目脱离原生的操作系统——我们开始使用 Docker 制造云容器进行时
docker·云原生·golang
java_logo19 小时前
SGLANG Docker容器化部署指南
linux·运维·docker·容器·eureka·1024程序员节
Qayrup20 小时前
各个系统的 docker安装
运维·docker·容器
代码or搬砖20 小时前
Docker 部署 Java 项目实践
java·docker·容器
蓝象_21 小时前
docker下载配置redis
redis·docker·容器