メモリ使用量は起動できるコンテナ数、費用にも関わってくるので大事。確認方法をまとめます。
Docker
docker statsコマンドで確認できる
$ sudo docker stats {CONTAINER ID}
こんな感じで表示される
CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS dcbab3454104 0.00% 17.77 MB / 33.64 GB 0.05% 37.83 MB / 6.387 MB 0 B / 0 B 1
CONTAINER IDは
$ sudo docker ps
で確認できる。
% docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES dcbab3454104 asia.gcr.io/oceanus-dev/table-manager:latest "python3.5 table-mana" 38 minutes ago Up 38 minutes jovial_cray
何度も止めたり起動したりをしてるときは、いちいちIDを確認するのは手間なので下記のようにdocker psをイメージ名などでフィルターした結果を使うと便利。
-qをつけることで、IDのみ返してくれる。
シェルスクリプト化で更に便利。
$ sudo docker stats `sudo docker ps -f ancestor={イメージ名} -q`
Kubernetes
Google Container Engineで使ってます。
$ kubectl top pod
こんな感じででる
NAME CPU(cores) MEMORY(bytes) arms-2374624802-s8tx6 21m 44Mi table-manager-1546569972-4lv46 59m 16Mi arms-2374624802-5vd0l 21m 45Mi arms-2374624802-8j8wx 20m 45Mi r2bq-1043652369-7smpb 39m 36Mi redis-pd-1996650620-p1o6f 4m 53Mi revelation-2254162989-l893m 4m 37Mi
ローカルのDocker EngineとKubernetesは、うちの場合、メモリ使用量はほぼ一緒なので、チューニングのときはローカルでのテストでも十分そう。
プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化
- 作者: 阿佐志保,山田祥寛
- 出版社/メーカー: 翔泳社
- 発売日: 2015/11/20
- メディア: 大型本
- この商品を含むブログ (3件) を見る