我正在使用Docker来运行一些容器化的应用程序。我有兴趣测量它们消耗的资源量(就CPU和内存使用情况而言)。Docker容器的内存使用情况
是否有任何方法来测量Docker容器所消耗的资源,如RAM & CPU使用率?
谢谢。
我正在使用Docker来运行一些容器化的应用程序。我有兴趣测量它们消耗的资源量(就CPU和内存使用情况而言)。Docker容器的内存使用情况
是否有任何方法来测量Docker容器所消耗的资源,如RAM & CPU使用率?
谢谢。
更新:请参阅下面的@Adrian Mouat的答案作为码头工人现在支持docker stats
!
没有办法做到这一点,在当前版本的Docker中内置。未来的版本将通过api或插件支持这一点。
它看起来像有一个LXC项目,你应该能够用它来追踪CPU和内存。
您现在可以使用'docker stats'完成此操作。我已经添加了一个答案,但是您可能想要更新这个答案以及它已被接受。 –
此外,您还可以直接从cgroup的阅读资源指标。 参见下面的例子(我在Debian Jessie
和docker 1.2
运行)
> docker ps -q
afa03c363af5
> ls /sys/fs/cgroup/memory/system.slice/ | grep docker-afa03c363af5
docker-afa03c363af54815d721d938e01fe4cb2debc4f6c15ebff1851e20f6cde3ae0e.scope
> cd docker-afa03c363af54815d721d938e01fe4cb2debc4f6c15ebff1851e20f6cde3ae0e.scope
> cat memory.usage_in_bytes
4358144
> cat memory.limit_in_bytes
1073741824
我在Ubuntu上,几年后,我没有一个名为'system.slice'的子文件夹 - 是否更改了名称?现在有一个在这个级别的“docker”子文件夹... – halfer
您可以从docker stats
e.g得到这样的:
$ docker stats --no-stream
CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O BLOCK I/O PIDS
6b5c0fcfa7d4 0.13% 2.203 MiB/4 MiB 55.08% 5.223 kB/648 B 102.4 kB/876.5 kB 3
在'搬运工PS线| awk'{print $ 1}'| grep -v CONTAINER';做docker ps | grep $ line | awk'{printf $ NF'“}'&& echo $((cat/sys/fs/cgroup/memory/docker/$ line */memory.usage_in_bytes'/1024/1024))MB;完成 – staticx