Использование памяти в контейнерах Docker
Я использую Docker для запуска некоторых приложений с контейнерами. Меня интересует измерение количества ресурсов, которые они потребляют (в отношении использования ЦП и памяти).
Есть ли способ измерения ресурсов, потребляемых контейнерами Docker, таких как RAM и использование ЦП?
Спасибо.
Ответы
Ответ 1
Обновление: см. ниже @Adrian Mouat, поскольку докер теперь поддерживает docker stats
!
Не существует способа сделать это, встроенный в докер в текущей версии. Будущие версии поддерживают это через api или plugin.
Это похоже на проект lxc, который вы должны использовать для отслеживания CPU и памяти.
Ответ 2
Вы можете получить это от 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
Ответ 3
Кроме того, вы можете читать метрики ресурсов непосредственно из групп.
См. Пример ниже (я запускаю 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