文章内容
2025/11/13 5:20:05,作 者: 黄兵
查看所有 docker 容器占用内存
要查看 所有 Docker 容器的内存占用情况,可以使用以下几种方法:
🧩 一、使用 docker stats
最常用、最直观的命令:
docker stats
示例输出:
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS f4a2c12abf99 nginx 0.07% 25.3MiB / 1.94GiB 1.27% 1.23MB / 2.3MB 5.1MB / 0B 5 7e94a6a75d4d swift-proxy 0.50% 120.5MiB / 1.94GiB 6.21% 200MB / 1.2GB 30MB / 20MB 20
👉 该命令会持续实时刷新,按下 Ctrl + C 退出。
如果只想看一次的快照,可以加上 --no-stream:
docker stats --no-stream
🧾 二、查看指定列(只显示内存)
如果你只想看容器名称与内存用量:
docker stats --no-stream --format "table {{.Name}}\t{{.MemUsage}}"
输出示例:
NAME MEM USAGE / LIMIT nginx 25.3MiB / 1.94GiB swift-proxy 120.5MiB / 1.94GiB mysql 512.2MiB / 1.94GiB
🧮 三、按内存用量排序显示(Linux Shell 排序)
docker stats --no-stream --format "{{.Name}}: {{.MemUsage}}" | sort -h -k2这会按照内存占用大小排序输出。
🧰 四、查看容器详细资源使用信息(非实时)
docker inspect--format='{{json .HostConfig.Memory}}'
可用于查看容器的内存限制(单位字节)。
💡 五、结合 awk 统计总内存使用
例如要快速查看所有容器的总内存使用量:
docker stats --no-stream --format "{{.MemUsage}}" \
| awk '{split($1, a, "MiB"); total+=a[1]} END {print "Total Memory Used: " total " MiB"}'
评论列表