S920X00机器CentOS 7.6下大批量容器执行docker exec卡顿

1 S920X00机器CentOS 7.6下大批量容器执行docker exec卡顿

问题现象描述Symptom

**硬件配置:**现场一批400+台S920X00机器,使用CentOS 7.6,内核版本4.14,docker使用OS自带的1.13版本

**问题现象:**现场一台机器上创建大量docker容器,批量执行docker exec命令发生卡顿

关键过程、根本原因分析Key Process and Cause Analysis

关键过程:

(1)实验室部署镜像环境,使用1.13版本docker,创建54个docker容器,运行脚本循环调用docker exec命令,出现docker exec命令卡顿

(2)抓了进程火焰图发现进程在启动时耗时较长(__start),st复现问题后打印卡死进程堆栈发现进程有卡在epoll_wait和futex_wait函数的2种状态,strace抓到也是这两个函数耗时高,增加go pprof、gdb均排查到大量线程卡在runtime.futex中

(3)使用新版本的docker 26.1.4版本测试发现问题解决,定界该问题属于软件问题,已与客户同步

同时发现一个patch与此相关,https://github.com/moby/moby/pull/45625,合入patch可以改善卡顿现象,但是无法完全解决,只能说从docker 1.13到26.1.4中间版本太多了,这个版本是24.06合入的,尝试在24.01上验证也是OK的。

根本原因分析:

docker老版本问题,升级docker版本解决问题,当前问题涉及版本1.13,验证解决问题版本24.01

规避方案为绕过docker形式直接nsenter进入容器

结论、解决方案及效果Conclusion and Solution

结论:

docker老版本问题,升级docker版本解决问题

解决方案:

docker老版本问题,升级docker版本解决问题

规避方案为绕过docker形式直接nsenter进入容器

经验总结、预防措施和规范建议Experience

无

备注Remarks

enter进入容器

经验总结、预防措施和规范建议Experience

无

备注Remarks

无

相关推荐
qetfw8 分钟前
Debian Chrony 时间同步、RAID5 与 LUKS 磁盘加密配置
linux·debian
天衍四九-10 分钟前
【无标题】
前端·spring boot·mysql·nginx·docker
赵谨言1 小时前
红蓝对抗Docker渗透复盘-技能与产出汇总
docker·容器·eureka
东城居士2 小时前
Linux驱动阻塞与非阻塞访问的理解
linux·嵌入式系统
..Dauntless..3 小时前
【Linux】进程地址空间初步理解
linux·运维·服务器
Julien20043 小时前
Docker 网络(一)
linux·运维·服务器·ssh·学习方法
杨云龙UP3 小时前
一次数据库查询缓慢故障复盘:大表数据增长、SQL全表扫描导致系统响应异常
linux·运维·服务器·数据库·sql·mysql
I'mChloe4 小时前
Windows部署BiliNote:Docker安装、AI视频转写、Markdown笔记与cpolar远程访问
人工智能·windows·docker
PellyKoo4 小时前
【linux运维】ubuntu+samba 用户组独占目录权限配置踩坑记
linux·运维·ubuntu
AR-26710-4 小时前
Linux Day15——系统管理复习
linux·运维