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. Не стесняйтесь задавать мне вопросы, если у вас есть какие-либо вопросы.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.