38

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

有什么方法可以测量 Docker 容器消耗的资源,例如 RAM 和 CPU 使用率?

谢谢你。

4

3 回答 3

42

你可以从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
于 2017-01-10T20:50:21.397 回答
11

更新:见下面@Adrian Mouat 的回答,因为 docker 现在支持docker stats

在当前版本的 docker 中,没有办法做到这一点。未来的版本将通过 api 或插件支持这一点。

看起来确实有一个 lxc 项目,您应该可以使用它来跟踪 CPU 和内存。

于 2013-09-24T10:33:58.003 回答
5

此外,您可以直接从 cgroups 读取资源指标。请参见下面的示例(我正在运行Debian Jessieand 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
于 2014-09-14T10:38:04.737 回答