在金融客户案例中,业务Pod连接Redis经常失败,初步排查确认是节点内核收包延时500ms以上导致。定位过程分为几步:首先查看Sched Delay Count大盘,发现对应时间点有多次500ms以上的调度延迟,说明ksoftirq可能得不到调度引发网络延时。然后通过操作系统控制台的节点异常详情发现调度抖动异常和cgroup泄漏异常并存。接着查看调度抖动诊断报告获取详细信息。结合抖动诊断和cgroup泄漏异常,确定是memory cgroup泄漏且kubelet访问memory cgroup的numa_stat文件时多次遍历cgroup层级导致调度抖动。最终分析确认是客户使用cronjob定时拉起容器读取日志,容器退出后page cache未释放导致cgroup处于僵尸状态。




