更新到 2026.4.1 后无法分配线程

重建操作很可能重置了容器的 cgroup 位置,这可以解释为何它现在又稳定了。

鉴于最初出现了无法分配线程的错误,且其他限制(ulimits、TasksMax、Docker PIDs)均设为无限制,剩下的可疑因素是 PID cgroup 压力。

能否在正常负载下检查以下内容:

cat /sys/fs/cgroup/pids.current

[1]

cat /sys/fs/cgroup/pids.max

[2]

如果 pids.current 接近 2000+,而 pids.max 约为 2285,则表明容器在调度器/Redis 重连突发期间确实达到了 cgroup PID 上限。

这也解释了为何该问题仅在升级后出现(线程切换更频繁),以及为何重建操作能暂时解决该问题。


  1. 当前容器/cgroup 内运行的进程数(PIDs/线程数) ↩︎

  2. 该 cgroup(即您的容器)允许的最大进程数(PIDs/线程数) ↩︎

1 个赞