当前位置: 首页 > news >正文

CPU softlockup(软锁定)

CPU softlockup(软锁定)是 Linux 内核 watchdog 机制报出的“某颗 vCPU 在内核态连续 20 s(默认)没有发生任务切换”的异常。
本质是:内核线程/中断上下文长时间关抢占(或死循环),导致该核上的 watchdog 线程得不到调度,从而在日志里打印
watchdog: BUG: soft lockup - CPU#X stuck for 22s! [process:PID]
 

一、对 K8s 与 etcd 的直接影响

  1. kubelet 卡死:
    • 无法按时向 apiserver 发送心跳 → 节点被标记为 NotReady,触发 Pod 驱逐。
  2. etcd 卡死:
    • 它的 raft goroutine 若正好落在受害 CPU,会因 20 s 内无磁盘 I/O 或网络回应而被同伴视为“失联”,触发新一轮 leader 选举,造成 etcd 主从频繁切换;严重时整个 apiserver 出现 5xx,集群控制面抖动。
  3. 容器运行时(containerd/docker)同样可能因 runc 卡住而无法创建/销毁容器,Pod 一直 ContainerCreatingTerminating

二、常见根因(结合近期案例)

  • 内核模块死循环或自旋锁长期未释放
     
  • cgroup 读取路径(kubelet 统计内存/CPU 用量)在 5.10 以下内核有已知锁竞争,64 核以上机器极易触发;
  • 驱动 bug、IPI 风暴、过量 iptables 规则导致 softirq 占用过高
     
  • 虚拟机场景下宿主机过载,vCPU 被抢占,Guest 侧看就是“softlockup”。

三、快速止血与后续规避

  1. 立即恢复
    • 登录节点 echo 3 >/proc/sys/vm/drop_caches 清缓存,减少 cgroup 遍历量;
    • 若 repeatable,可临时 echo 30 >/proc/sys/kernel/watchdog_thresh 把阈值放宽到 30 s,避免立刻 panic。
  2. 根因处理
    • 升级内核 ≥ 5.10.134(官方修复了大量 cgroup 锁竞争);
    • 给 kubelet 加参数 --housekeeping-interval=30s --cgroups-per-qos=false 降低扫描频率;
    • 检查是否有过多的 iptables 规则/内核模块(nf_conntrack 等),按需精简;
    • 对 VM 节点,确保宿主机不超载,开启硬件辅助虚拟化特性。
  3. 监控
    • /var/log/messagesjournalctl -k 做日志告警:watchdog.*soft lockup
    • 通过 node_exporter + Prometheus 监控 node_softlockup_seconds(需自己写脚本解析 dmesg)。
只要出现 softlockup,该节点上所有需要时间片及时响应的组件(kubelet、etcd、容器运行时)都会连带受害,因此务必把内核版本、驱动、系统负载控制在官方建议区间内,才能彻底消除 etcd 因“假死”而频繁重新选主的问题。
这就是 cgroup 锁竞争 → softlockup → etcd/kubelet 被误认为宕机 → 主从频繁切换。
一句话:
64 核以上机器,老内核 + 万级 cgroup,并发抢“一把大锁”,把 CPU 憋死,表现为 softlockup,连带拖垮 etcd 选主。
http://www.jsqmd.com/news/38586/

相关文章:

  • 再次出山!!
  • 营口西林瓶灌装机资质齐全,含医疗器械生产许可与行情报价
  • Tita 项目管理软件:驱动互联网企业高效运营与战略落地新引擎
  • 完整教程:Java 反射机制核心类详解:Class、Constructor、Method、Field
  • vue网站禁止右键以及禁止打开控制台,检测到控制台停止运行
  • 2025年卡盘式自定心坡口机优质厂家权威推荐榜单:切管机/钢板坡口机/倒角机源头厂家精选
  • AI元人文:从被动执行到主动探索——基于三值张力的文明演进新范式
  • Java 获取 Excel 中工作表的名称 - 指南
  • 2025年现代风格卫生间隔断生产厂家权威推荐榜单:易清洁卫生间隔断/欧式卫生间隔断/养老院卫生间隔断源头厂家精选
  • locust-WebSocket压测
  • 11.11 CSP-S 模拟赛 T3. square
  • 2025年排渣阀订制厂家权威推荐榜单:陶瓷阀门/搪瓷阀门/铸铁阀门源头厂家精选
  • locust常用类和方法解析
  • locust高级特性详解
  • Aoao Round 2 比赛总结
  • 基于遗传算法的PID控制器参数整定方法详解
  • QT项目复盘:如何在有限资源下把桌面端做成‘高端应用’?
  • 揭开时序数据库的秘密:为何它是数据存储的未来?
  • 11月12日打卡
  • Java中将String字符串转换为算术表达式并计算
  • 按钮固定在底部
  • locust基础
  • 基于HSMS通信标准的SECS通讯程序
  • 设置fdfs自动启动
  • 完整教程:Redis GEO 模块深度解析:从原理到高可用架构实践
  • 2025/11/9
  • 办公楼设计多少钱一平?广州办公楼设计收费标准
  • 2025/11/8
  • macOS 下载汇总 (系统、应用和教程) - macOS Tahoe 26
  • 使用page-meta为u-popup的遮罩层添加穿透屏蔽