Подтвердить что ты не робот

Использование памяти в контейнерах Docker

Я использую Docker для запуска некоторых приложений с контейнерами. Меня интересует измерение количества ресурсов, которые они потребляют (в отношении использования ЦП и памяти).

Есть ли способ измерения ресурсов, потребляемых контейнерами Docker, таких как RAM и использование ЦП?

Спасибо.

4b9b3361

Ответ 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