Pinterest 排查 CPU 瓶颈:系统里的僵尸进程
Finding zombies in our systems: A real-world story of CPU bottlenecks

2025 年初,Pinterest 的 ML 平台团队发现基于 Ray 的分布式训练任务频繁因网络中断而崩溃。经过三个多月的深入调查,我们将目光从应用层转向底层基础设施。日志显示 AWS 的 ENA 网络驱动频繁触发重置,根源在于 CPU 饥饿导致网络线程无法及时响应。尽管尝试了 Huge Pages、jemalloc 和中断绑定等多种优化手段,问题依旧在特定可用区(us-east-1a)的机器上周期性出现。最终,通过精细化的时序性能分析,我们锁定了一个在特定时刻独占 CPU 核心的神秘进程,揭示了隐藏在系统深处的“僵尸”问题。
我们终于接近了根本原因:有时,单个 CPU 核心会连续数秒占用 100% 的系统 CPU,而这正好与网络重置发生的时间点吻合。