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 个核心。如上所示,实际只分配到前两个核心。
标签: 笔记