Understanding “docker stats” Command Output

Question: How to monitor a running docker container performance metrics. For example, CPU,memory, I/O and network stats?

The docker stats command can continuously report the basic CPU, memory, network and disk I/O metrics. For example:

# docker stats a3f78cb32a8e
CONTAINER ID   NAME              CPU %  MEM USAGE / LIMIT   MEM %   NET I/O BLOCK    I/O          PIDS
a3f78cb32a8e    hello-world    0.00%   2.137MiB / 3.605GiB  0.06%     0B / 0B        9.95MB / 0B   0

Alternatively, you can also run “docker stats” and “docker stats –all” to monitor all running container’s metrics.

In the command output, these are the following key metrics:

1. CPU stats

CPU is reported as % of total host capacity.

2. Memory stats

It is the percentage of the host’s CPU and memory the container is using. If the host is using memory for other processes, your container will run out of memory before it hits the limit reported by the stats command.

3. Block I/O stats

The amount of data the container has read to and written from block devices on the host.

4. Network I/O stats

The amount of data the container has sent and received over its network interface. Displays total bytes received (RX) and transmitted (TX).

5. PIDs

They are the number of processes or threads the container has created.

Related Post