一、核心原因分析
?資源配置不合理?
-
- ?CPU核數與并行度不匹配?:TaskManager的taskmanager.numberOfTaskSlots設置過高,導致單個節點負載過載(如32核節點設置2個slot被多個任務占用,總需求超過物理CPU核數)。
- ?內存與CPU分配不均?:內存不足引發頻繁GC,間接導致CPU利用率飆升(如Full GC占用大量CPU時間)。
?代碼邏輯問題?
-
- ?復雜計算或死循環?:自定義函數(如MapFunction或ProcessFunction)中存在未優化的循環邏輯或遞歸調用。
- ?高頻狀態操作?:頻繁訪問或更新狀態(如ValueState),引發底層RocksDB的I/O壓力間接影響CPU。
?并行度設置不當