docker资源分配篇
作者:互联网
默认情况下,docker容器的资源分配是没有限制的,宿主机有多少资源他就可以用多少资源,而docker可以限制内存,CPU,IO的资源使用.docker可以在docker run或者docker build的时候设置这些选项,设置的选线和规则如下:
内存
-m 或 --memory :
--memory-swap * :此命令依赖于-m
CPU:CPU为按比例分配
--cpus=<value> 使用value核cpu,比如cpu为双核,可以设置--cpus="1.5",表示有1.5核cpu分配给该容器
--cup-shares :当有多个docker的时候,所有docker按比例分配cpu资源,如果其他docker空闲的话,仅有一个docker繁忙,则他可以用完所有cpu
--cpuset-cpus:指定docker运行在哪个cpu上,比如:4核cpu编号为[0-3]
测试内存,
docker run --name s1 -it --rm -m 256m lorel/docker-stress-ng stress --vm 2
使用以上命令启动一个最多使用256m内存的容器,虽然进入到容器查看总内存跟物理内存一致,但是使用docker stats s1可以看到最多只能使用256m内存
测试CPU
设置的CPU为1,所以最多只能使用100%的cpu,每个核心使用约50%
或者指定只使用某个CPU
标签:cpus,cpu,内存,使用,docker,CPU,资源分配 来源: https://blog.51cto.com/lidefu/2369147