如何检查docker容器使用的核心数?
我已经与Docker合作一段时间了,我已经安装了Docker并使用如何检查docker容器使用的核心数?,docker,containers,Docker,Containers,我已经与Docker合作一段时间了,我已经安装了Docker并使用 docker run -it --cpuset-cpus=0 ubuntu 当我登录docker控制台并运行 grep processor /proc/cpuinfo | wc -l 它显示了3,这是我在主机上拥有的内核数 关于如何将资源限制到容器以及如何验证限制的任何想法???应该用双引号引起来--cpuset cpus=“”,--cpuset cpus=“0”表示它使用了cpu0。。某些内核资源仍将显示在主机上 在这种情
docker run -it --cpuset-cpus=0 ubuntu
当我登录docker控制台并运行
grep processor /proc/cpuinfo | wc -l
它显示了3,这是我在主机上拥有的内核数
关于如何将资源限制到容器以及如何验证限制的任何想法???应该用双引号引起来--cpuset cpus=“”,--cpuset cpus=“0”表示它使用了cpu0。。某些内核资源仍将显示在主机上 在这种情况下,
--cpuset cpus=0
修改容器cgroup可以访问的资源,而不是容器可以看到的资源
验证的一种方法是在容器中运行该工具:
使用1个cpu将固定在1个内核上(使用1/3个内核,100%或33%,取决于您使用的工具):
这将使用2芯(2/3芯,200%/66%):
这将使用3个(3/3芯,300%/100%):
内存限制是内核统计中没有出现的另一个方面
$ docker run -m 64M busybox free -m
total used free shared buffers cached
Mem: 3443 2500 943 173 261 1858
-/+ buffers/cache: 379 3063
Swap: 1023 0 1023
包括。该问题已在中提出。文件
/sys/fs/cgroup/cpuset/cpuset.cpus
反映了正确的输出
cpuset cpu
正在生效,但是没有反映在/proc/cpuinfo
docker inspect中
docker inspect <container_name>
将给出所启动容器的详细信息,您必须在其中检查“CpusetCpus”,然后才能找到详细信息。#docker run-it--cpuset cpus=“0”20c44cd7596f”/bin/bash root@c44351fd21a7:/#grep processor/proc/cpuinfo | wc-l 3只有在参数中包含空格或其他shell特殊字符时,才不需要changeQuotes。
docker run deployable/stress -c 3
$ docker run -m 64M busybox free -m
total used free shared buffers cached
Mem: 3443 2500 943 173 261 1858
-/+ buffers/cache: 379 3063
Swap: 1023 0 1023
docker inspect <container_name>