获取docker机器的CPU /内存百分比

我想知道如何使用docker命令远程获取docker机器的cpu和内存百分比。 通常docker stats但与机器的信息,而不是容器的信息。

非常感谢 !

使用docker info你可以得到信息有多less个CPU和Docker机器有多less内存。 例如:

 ... CPUs: 4 Total Memory: 1.952 GiB ... 

使用docker stats -a您可以看到所有容器及其对cpu和内存的使用情况:

 CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 43c7743b5df3 1.23% 30.6 MiB / 1.952 GiB 1.53% 9.36 kB / 1.21 kB 0 B / 6.44 MB 20 a821f9c87b2c 0.80% 88.31 MiB / 1.952 GiB 4.42% 10.9 kB / 1.21 kB 60 MB / 6.55 MB 20 

但是,如果正确的话,您希望拥有的是使用docker命令的所有容器资源的总和。 它看起来像没有这样的docker命令,但…

我玩了一下,得到了这个(我不是一个真正的shell脚本,所以也许它可以写得更短):

 docker stats --no-stream -a --format "{{.CPUPerc}}\t{{.MemPerc}}" | \ LC_NUMERIC="C" awk '{cpu+=substr($1,1,length($1)-1); mem+=substr($2,1,length($2)-1)} \ END {print "CPU",cpu,"%\tMem",mem,"%"}' 

它产生这个:

 CPU 1.62 % Mem 5.95 %