docker stats 容器资源使用查看工具

1,607 阅读1分钟

在容器的使用过程中,查看到docker容器的资源消耗情况是非常对使用人员来说是非常有必要的,docker就提供来一个参数docker stats来帮我们完成

`docker stats (不带任何参数选项)`

`docker stats --no-stream  (只返回当前的状态)`

`docker stats   --no-stream   容器ID/Name (只输出指定的容器)`

`docker stats --format  “table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}" (格式化输出的结果)`

默认情况下,stats 命令会每隔 1 秒钟刷新一次输出的内容直到你按下 ctrl + c。下面是输出的主要内容:

[CONTAINER]:以短格式显示容器的 ID。

[CPU %]:CPU 的使用情况。

[MEM USAGE / LIMIT]:当前使用的内存和最大可以使用的内存。

[MEM %]:以百分比的形式显示内存使用情况。

[NET I/O]:网络 I/O 数据。

[BLOCK I/O]:磁盘 I/O 数据。 

[PIDS]:PID 号。
`# docker stats   --no-stream   容器ID/Name (只输出指定的容器)`

想查看某个容器的资源使用情况,可以为 docker stats 命令显式的指定目标容器的名称或者是ID

实际场景中的使用:由于默认输出的类别很多,我们可以通过awk过滤我们需要的字段,然后通过sort进行排序

获取容器的CPU消耗排行前五

`# docker stats --no-stream|awk '{print $3,"                    "$1,$2}'|sort -h |tail -n 5`

获取容器的内存消耗排行前五个

`# docker stats --no-stream|awk '{print $4,"                    "$1,$2}'|sort -h |tail -n 5`