Docker容器的内存使用情况

Par*_*ris 25 memory resources measurement cpu-usage docker

我正在使用Docker运行一些容器化的应用程序.我感兴趣的是测量他们消耗了多少资源(就CPU和内存使用情况而言).

有没有办法测量Docker容器消耗的资源,如RAM和CPU使用率?

谢谢.

Adr*_*uat 24

你可以从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
Run Code Online (Sandbox Code Playgroud)

  • 有没有办法测量容器在其整个生命周期中的任何特定时间使用的最大资源? (3认同)

joh*_*sta 8

更新:请参阅下面的@Adrian Mouat的答案,因为docker现在支持docker stats!

在当前版本中,没有办法在docker中内置这个.未来版本将通过api或插件支持此功能.

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


Via*_*lev 5

此外,您还可以直接从 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
Run Code Online (Sandbox Code Playgroud)