生產環境分散式檔案系統伺服器頻發 Kernel Panic,嚴重影響服務。作者記錄兩階段排查歷程:第一階段嘗試模擬郵件發送、分散式檔案系統寫入重現失敗,靜態分析指向 CPU 調度時間溢位觸發 watchdog;第二階段改採多台故障機核心日誌比對,發現共同特徵 Delta way too big 警告,對應 Red Hat 官方 Bug 70051,根因為 ftrace 環狀緩衝區時間戳計算在 sched_clock 不穩定(如暫喚醒後)時溢位,觸發 WARN_ON 導致 Panic。解法:echo 0 > /sys/kernel/debug/tracing/tracing_on 關閉追蹤或切換 trace_clock=global。
WARNING: at kernel trace ring_buffer.c:1988 rb_reserve_next_event
Delta way too big! ...
ftrace 計算環狀緩衝區條目時間戳時,sched_clock 不穩定導致 delta 過大echo 0 > /sys/kernel/debug/tracing/tracing_on 或改用全域時鐘 echo global > /sys/kernel/debug/tracing/trace_clock
核心 Panic 排查關鍵在於「多機日誌比對找共同特徵」與「查閱廠商官方知識庫」,避免陷入單機重現死胡同。