查看Docker容器的资源占用情况
通过docker stats命令
docker stats 是实时查看容器资源使用情况的命令,包括内存、CPU、网络等。
运行以下命令查看所有正在运行的容器的内存使用情况:
1 | docker stats |
输出如下:
1 | CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS |
MEM USAGE / LIMIT:当前内存使用量和内存限制。MEM %:内存使用率。- 如果未设置内存限制,则显示的是系统的总可用内存。
通过docker inspect 查看内存使用情况
docker inspect 可以获取容器的详细信息,包括内存限制和使用情况。
运行以下命令:
1 | docker inspect <container_id> | grep -i Memory |
或者:
1 | docker inspect <container_id> |
然后查看与内存相关的字段,例如 MemoryStats。
通过 docker system df 查看资源使用概况
docker system df 提供了 Docker 所有资源的整体占用情况,包括镜像、容器、卷等。
运行以下命令:
1 | docker system df |
虽然此命令不能直接显示单个容器的内存使用,但可以作为了解全局资源占用情况的辅助工具。
第三方监控工具
如果需要更全面、直观的监控,可以使用以下工具:
- Prometheus + Grafana:配合 Docker 的监控指标,生成内存使用率的图形化报告。
- cAdvisor:专门用于监控容器资源使用,包括内存、CPU、磁盘和网络。
- Portainer:提供 Docker 容器管理和资源使用的图形界面。
注意事项
- 设置内存限制:如果未对容器设置内存限制,容器可能会占用系统所有可用内存,导致性能问题。可以在启动容器时使用
--memory设置内存限制,例如:
1 | docker run --memory="1g" --name my-container my-image |
- 监控多容器系统:在运行多个容器的环境中,定期使用
docker stats或监控工具检查内存使用情况,避免资源过载。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 码农笔记!
评论
WalineDisqus







