Docker容器的内存使用情况

我使用Docker来运行一些容器化的应用程序。 我有兴趣测量它们消耗多less资源(就CPU和内存使用情况而言)。

有什么办法可以测量Docker容器(如RAM和CPU使用率)消耗的资源吗?

谢谢。

更新:请参阅下面的@Adrian Mouat的答案作为docker工人现在支持docker stats

在当前版本中,没有办法在Docker中内置这个function。 未来的版本将通过api或插件支持。

它看起来像有一个lxc项目,你应该能够用来跟踪CPU和内存。

你可以从docker stats得到这个例如:

 $ 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 

此外,您可以直接从cgroups读取资源指标。 看下面的例子(我在Debian Jessiedocker 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