杜郎俊赏 - dujun.io

Docker 限制容器 CPU、内存使用

服务器评分系列要统一规格为 2 核 2G,对于高配服务器用 Docker 限制容器 CPU、内存使用来模拟相近的硬件环境。CPU 限制我起先用cpus参数,后来发现cpuset-cpus更准确。下文验证了两者的区别(主机 8 核 8G,Docker 限制为 2 核 2G)。

cpus

docker run -d --name server-testing --memory="2048m" --cpus="2.0" -v /docker/server_testing/result:/server_testing/result dujunio/server-testing

--cpus="2.0"表示使用 200% 核心,在 8 核主机上占用 25% CPU。如上所示,实际是分配到 8 个核心,每个核心承担一部分,凑齐相当于 2 个核心的算力。

cpuset-cpus

docker run -d --name server-testing --memory="2048m" --cpuset-cpus="0,1" -v /docker/server_testing/result:/server_testing/result dujunio/server-testing

--cpuset-cpus="0,1"表示使用第 1、第 2 个核心。如上所示,实际只分配到前两个核心。

标签: 笔记
日期:2024-07-07