マシンが1台あり、コンテナーを実行するときに物理CPUがどれだけ使用されているかを調べたいとします。コンテナ内の統計には興味がありません。
同様に、メモリ使用量を調べたいと思います。コンテナ内のメモリ使用率には興味がありません。
たとえば、メモリの場合、ps
は次の2つのことを示します。
$ ps -ax -o %mem,cmd | grep router
0.7 /usr/bin/docker run --rm -p 123:456 --name=the_router ...
5.3 Java -jar the-router-fat.jar -conf /usr/verticles/conf/config.json
2行目は、実際にはDockerコンテナ内で実行するコマンドです。最初の行は、コンテナーを開始するために実行するコマンドです。
Dockerstatsコマンドは別の番号を表示します。
$ docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemPerc}}"
CONTAINER CPU % MEM %
1218ee798de6 0.15% 4.85%
Docker statsが返す値はホストシステムのメモリ使用量であると想定できますか?
docker stats
を使用して、DockerコンテナのCPUとメモリの使用量を確認できます。参考のためにこの質問を確認してください: https://stackoverflow.com/questions/18956063/memory-usage-of-docker-containers