在容器的使用过程中,查看到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`