2013-09-23 52 views
19

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

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

ありがとうございます。

+0

| awk '{print $ 1}' | grep -v CONTAINER'; | grep $ line | ($ cat/sys/fs/cgroup/memory/docker/$ line */memory.usage_in_bytes'/1024/1024)); MB; done – staticx

答えて

7

更新:ドッカーがdocker statsをサポートしているので、以下の@Adrian Mouatの答えをご覧ください!

これを行う方法は現在のバージョンのドッカーに組み込まれていません。将来のバージョンではこれをapiまたはplugin経由でサポートします。

あなたはCPUとメモリを追跡するために使用することができるはずLXCプロジェクトがありますようにそれは見えません。

+1

これを 'docker stats'で行うことができます。私は答えを追加しましたが、あなたはこれを更新するだけでなく、それを受け入れることもできます。 –

3

また、あなたがたcgroupから直接リソースのメトリックを読み取ることができます。

> 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 
+0

私はUbuntuにいます。この後2,3年、 'system.slice'というサブフォルダはありません。名前が変更されましたか?このレベルに 'docker'サブフォルダがあります... – halfer

14

あなたはdocker stats例えばからこれを取得することができます(私はDebian Jessiedocker 1.2上で実行しています)以下の例を参照してください:

`ドッカPS内の行の
$ 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