我想知道如何使用docker命令远程获取docker机器的cpu和内存百分比。
通常为docker stats
,但与机器的信息有关,而不是容器的信息。
非常感谢!
答案 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 %