web-dev-qa-db-ja.com

Dockerコンテナのメモリ使用量

Dockerを使用してコンテナ化されたアプリを実行しています。彼らが消費するリソースの量を測定することに興味があります(CPUとメモリの使用量に関する限り)。

RAM&CPU使用率)のようなDockerコンテナーによって消費されるリソースを測定する方法はありますか?

ありがとうございました。

27
Paris

更新:dockerがdocker statsをサポートするようになったため、以下の@Adrian Mouatの回答をご覧ください。

現在のバージョンでdockerに組み込まれているこれを行う方法はありません。将来のバージョンでは、APIまたはプラグインを介してこれをサポートする予定です。

CPUとメモリを追跡するために使用できるはずのlxcプロジェクトがあるようです。

8
johncosta

これは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
22
Adrian Mouat

また、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
4