Docker 开源软件应急处理方案及操作手册——资源限制与性能瓶颈

1 、容器 CPU 使用率过高

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| # 查看容器CPU使用情况 docker stats --no-stream <容器ID> top -p $(docker inspect --format '{{.State.Pid}}' <容器ID>) # 检查CPU限制配置 docker inspect --format '{{.HostConfig.CpuShares}} {{.HostConfig.CpuQuota}}/{{.HostConfig.CpuPeriod}}' <容器ID> # 临时调整CPU限制 docker update --cpus 0.5 <容器ID> # 限制为0.5个核心 docker update --cpu-shares 512 <容器ID> # 降低CPU优先级 # 查看容器内进程CPU使用 docker exec <容器ID> top |

2、容器内存泄漏与 OOM

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| # 查看容器内存使用 docker stats --no-stream <容器ID> docker inspect --format '{{.HostConfig.Memory}}' <容器ID> # 内存限制 # 检查OOM事件 dmesg | grep -i "out of memory" | grep <容器ID> journalctl -k | grep -i oom | grep <容器名> # 临时调整内存限制 docker update --memory 1g --memory-swap 1g <容器ID> # 启用内存交换(不推荐生产环境) docker update --memory-swap 60 <容器ID> # 收集内存使用详情 docker exec <容器ID> free -h docker exec <容器ID> top -o %MEM |

3、 I/O 性能瓶颈

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| # 查看容器I/O使用情况 docker stats --no-stream <容器ID> iotop -p $(docker inspect --format '{{.State.Pid}}' <容器ID>) # 检查磁盘I/O负载 iostat -x 5 3 # 迁移容器到高性能存储 docker stop <容器ID> # 备份数据卷 docker run --rm -v <原卷>:/source -v <新卷>:/dest alpine cp -a /source/. /dest/ # 使用新存储启动容器 |

相关推荐
我科绝伦(Huanhuan Zhou)2 小时前
分享一个很实用的K8S巡检脚本
linux·docker·kubernetes
迷路爸爸1803 小时前
Docker 入门学习笔记 05:卷到底是什么,为什么容器删了数据却还能保留
笔记·学习·docker
恼书:-(空寄3 小时前
Docker 进阶核心实战:自定义镜像 + Dockerfile + Docker Compose
docker·容器·docker compose
●VON4 小时前
本地大模型部署实录:从Docker环境搭建到Open WebUI公网访问
运维·docker·容器·大模型
迷路爸爸1804 小时前
Docker 入门学习笔记 03:端口映射到底是什么,为什么容器启动了却访问不到
笔记·学习·docker
迷路爸爸1804 小时前
Docker 入门学习笔记 07:用一个多服务案例真正理解 Docker Compose
运维·笔记·学习·spring cloud·docker·容器·eureka
斯普信云原生组5 小时前
Docker 开源软件应急处理方案及操作手册——Docker 服务启动故障处理
运维·docker·容器
斯普信云原生组5 小时前
Docker 开源软件应急处理方案及操作手册——存储卷与数据持久化问题
docker·容器·eureka
斯普信云原生组5 小时前
Docker 开源软件应急处理方案及操作手册——Docker Compose 应急处理
docker·容器·eureka