文章内容

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"}'
分享到:

发表评论

评论列表