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

时间:2017-04-05 14:41:47

标签: ubuntu docker remote-server

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

非常感谢!

1 个答案:

答案 0 :(得分:3)

使用docker info,您可以获得有多少CPU和Docker机器具有多少内存的信息。例如:

...
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 %