Podman 可通过 podman stats 命令实时监控容器的资源使用情况(如 CPU、内存、网络 I/O、磁盘 I/O 等),支持动态刷新。
podman stats [选项] [容器名/ID...]
常用选项:
无选项:默认实时显示所有运行中容器的资源占用,按 Ctrl+C 退出。
-a,--all:显示所有容器资源占用情况
--no-stream:只显示一次当前状态,不持续刷新。
--format:自定义输出格式(如只显示容器名和 CPU 使用率)。
点击查看 podman stats 命令手册。
假设要监控名为 my-nginx 的容器,执行如下命令:
podman stats my-nginx
命令执行后会实时显示该容器的 CPU 使用率、内存占用、网络 I/O、块设备 I/O 等信息,默认每 5 秒刷新一次,如下图:

上图中,各个字段含义如下:
ID:容器 ID
NAME:容器名称
CPU %:CPU 使用率
MEM USAGE / LIMIT:内存使用量 / 限制
MEM %:内存使用率
NET I/O:网络输入 / 输出流量
BLOCK I/O:磁盘块设备输入 / 输出
PIDS:容器内进程数
CPU TIME:容器累计占用的 CPU 时间(示例中 69.148ms 为总时长)
AVG CPU %:容器的平均 CPU 使用率百分比(部分场景下的统计维度)
同时监控多个容器(用空格分隔标识符):
podman stats my-nginx my-redis my-mysql
执行命令后,如下图:

使用 --no-stream 选项,仅输出一次结果后退出(适合脚本或一次性查看):
C:\Users\Administrator> podman stats --no-stream my-nginx ID NAME CPU % MEM USAGE / LIMIT MEM % NET IO BLOCK IO PIDS CPU TIME AVG CPU % 3b16d172fcd5 my-nginx 0.00% 7.815MB / 16.62GB 0.05% 5.8kB / 1.258kB 0B / 12.29kB 9 69.148ms 0.00% C:\Users\Administrator>
通过 --format 选项用 Go 模板指定需要的字段(常用字段:{{.ID}}、{{.Name}}、{{.CPUPerc}}、{{.MemUsage}} 等):
# 表格形式显示ID、名称、内存使用
C:\Users\Administrator> podman stats --format "table {{.ID}}\t{{.Name}}\t{{.MemUsage}}" my-nginx
ID NAME MEM USAGE / LIMIT
3b16d172fcd5 my-nginx 7.815MB / 16.62GB
ID NAME MEM USAGE / LIMIT
3b16d172fcd5 my-nginx 7.815MB / 16.62GB
ID NAME MEM USAGE / LIMIT
3b16d172fcd5 my-nginx 7.815MB / 16.62GB
ID NAME MEM USAGE / LIMIT
3b16d172fcd5 my-nginx 7.815MB / 16.62GB
^C
C:\Users\Administrator>默认每 5 秒刷新一次,用 -i 选项指定间隔(单位:秒):
# 每2秒刷新一次 podman stats -i 2 my-nginx
实时监控时,按 Ctrl + C 终止命令。
通过以上方式,可以灵活地监控特定容器的资源使用情况,按需调整输出内容和频率。