Docker · 3 min read · Oct 05, 2025
Как проверить использование RAM и CPU контейнера Docker

Docker является одной из самых популярных и широко используемых платформ контейнеризации для создания, обмена и запуска приложений. В современном мире большинство приложений разворачиваются на платформе контейнеризации, поэтому управление контейнером Docker является ключевой задачей любого системного администратора. Docker позволяет вам проверять и контролировать использование ресурсов, таких как CPU и использование памяти контейнеров Docker.
Этот учебник покажет вам, как проверить использование CPU и RAM контейнера Docker.
Предварительные требования
- Сервер с установленным Linux и Docker.
- Настроен корневой пароль на сервере.
Как контролировать и проверять использование CPU и RAM контейнера Docker
Docker предоставляет подкоманду stats, которая позволяет вам проверять использование памяти и CPU ваших работающих контейнеров Docker.
Чтобы перечислить все команды docker stats, выполните следующую команду.
docker stats --helpВы получите следующий вывод.
Usage: docker stats [OPTIONS] [CONTAINER...]
Display a live stream of container(s) resource usage statistics
Options:
-a, --all Show all containers (default shows just running)
--format string Pretty-print images using a Go template
--no-stream Disable streaming stats and only pull the first result
--no-trunc Do not truncate output
Теперь давайте запустим команду docker stats, чтобы проверить статус всех работающих контейнеров:
docker statsВы получите информацию о всех работающих контейнерах в следующем выводе.
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
cb40a0f56aba determined_robinson 0.00% 2.648MiB / 3.839GiB 0.07% 726B / 0B 0B / 12.3kB 3
e0ee5b16c93f portainer 0.84% 24.6MiB / 3.839GiB 0.63% 1.02MB / 4.35MB 0B / 721kB 5
По умолчанию команда docker stats будет отображать потоковую информацию о всех статистиках контейнеров. Если вы хотите увидеть первые статистические данные всех работающих контейнеров, используйте флаг –no-stream.
docker stats --no-streamВы получите следующий вывод.
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
cb40a0f56aba determined_robinson 0.00% 2.648MiB / 3.839GiB 0.07% 796B / 0B 0B / 57.3kB 3
e0ee5b16c93f portainer 0.00% 25.5MiB / 3.839GiB 0.65% 1.03MB / 4.35MB 0B / 721kB 5
По умолчанию команда docker stats будет отображать статистику всех работающих контейнеров. Если вы хотите отобразить статистику как работающих, так и остановленных контейнеров, используйте флаг -a:
docker stats --no-stream -aЕсли вы хотите проверить статус конкретного контейнера, используйте команду docker stats, за которой следует идентификатор контейнера.
docker stats cb40a0f56abaВы получите следующий вывод.
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
cb40a0f56aba determined_robinson 0.00% 2.648MiB / 3.839GiB 0.07% 796B / 0B 0B / 57.3kB 3
Запустите следующую команду, чтобы отобразить только информацию о CPU всех работающих контейнеров.
docker stats --format "{{.Container}} {{.CPUPerc}}" --no-streamВывод.
cb40a0f56aba 0.00%
e0ee5b16c93f 0.00%
Запустите следующую команду, чтобы отобразить только информацию о CPU и памяти всех работающих контейнеров.
docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemPerc}}"Вывод.
CONTAINER CPU % MEM %
cb40a0f56aba 0.00% 0.07%
e0ee5b16c93f 0.10% 0.59%
Отображение использования контейнера Docker с помощью псевдофайлов
Вы также можете проверить метрики контейнера Docker из контрольных групп, которые находятся в каталоге /sys/fs/cgroup на хост-системе контейнера Docker.
Сначала получите все идентификаторы работающих контейнеров, используя следующую команду.
docker ps --no-trunc --format "{{.Names}}\t{{.ID}}"Вы получите следующий вывод.
determined_robinson cb40a0f56aba8b3a29513dafa7622f8d5d6435c9302dc6a3db73ea5eca506af5
portainer e0ee5b16c93f358a15dfcb93cc80d2c2d1c1c675e7b65e41434ce20f08773465
Затем выполните следующую команду, чтобы получить статистику второго контейнера.
cat /sys/fs/cgroup/system.slice/docker-e0ee5b16c93f358a15dfcb93cc80d2c2d1c1c675e7b65e41434ce20f08773465.scope/cpu.statВы получите метрики контейнера в следующем выводе.
usage_usec 1550758
user_usec 1301875
system_usec 248883
nr_periods 0
nr_throttled 0
throttled_usec 0
Заключение
В этом посте мы показали вам, как проверить использование CPU и памяти контейнера Docker через командную строку. Я надеюсь, это поможет вам контролировать вашу среду Docker. Не стесняйтесь задавать мне вопросы, если у вас есть какие-либо вопросы.
Get new posts in your inbox
No spam. Unsubscribe anytime.