docker stats の使い方
使っている CPU・メモリを見る
書き方
docker stats
docker stats --no-stream
docker stats コンテナ
docker stats --no-stream --format '{{.Name}} {{.MemUsage}}'動いているコンテナの CPU・メモリ・ネットワークの使い方を表示します。MEM USAGE / LIMIT の右側が上限(-m を付けなければサーバーのメモリ全部)。
よく使うオプション
| オプション | 意味 |
|---|---|
--no-stream | 1 回だけ出して終わる(付けないと出し続ける) |
-a | 止まっているコンテナも出す |
--format テンプレート | 出す列を選ぶ({{.Name}}・{{.CPUPerc}}・{{.MemUsage}} など) |
例
$ docker stats --no-streamCONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
3f2a9c1d8e7b web 0.01% 7.2MiB / 1.8GiB 0.39% 1.2kB / 0B 0B / 4.1kB 3
8b1e4d7c2a9f db 0.35% 48.6MiB / 256MiB 18.98% 3.4kB / 2.1kB 18MB / 52MB 7動いているコンテナの CPU・メモリ・ネットワーク・ディスクの使い方を 1 回だけ出します。
$ docker stats web db
名前を書いたコンテナだけを出し続けます。Ctrl+C で止めます。
$ docker stats --no-stream --format '{{.Name}} {{.MemUsage}}'web 7.2MiB / 1.8GiB
db 48.6MiB / 256MiB名前とメモリだけを出します。どのコンテナがメモリを使っているかを手早く見るのに便利です。
よくある間違い・注意
- MEM USAGE / LIMIT の右側は上限です。-m を付けていないとサーバーのメモリ全部になり、使い過ぎるとほかのコンテナまで巻き込まれます。
- メモリが上限に近いコンテナは、超えると OOM で止められます(終了コード 137)。
実際に打って練習する
Docker コースの Lv60「積み荷の重さを量る docker stats」で覚えます(第8章 港の守り(本番運用))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
Lv1〜7 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。