檢查/var/log/messages
可以看到:
Mar 7 22:38:41 exampleserver-1 kernel: NOHZ: local_softirq_pending 100
Mar 22 08:38:31 exampleserver-1 kernel: NOHZ: local_softirq_pending 100
Mar 25 09:22:12 exampleserver-1 kernel: NOHZ: local_softirq_pending 100
內核相關
NOHZ: local_softirq_pending 100提到了 NOHZ: local_softirq_pending 100
有可能是Red Hat Kernel 6.2.32 分支的bug。
NOHZ
補丁包含了一個檢查"處理器進入idle時候softirqs pending"的功能。這個BUG和NOHZ
無關,只不過通過NOHZ
補丁能夠觀察到這個現象:
t1
線程在CPU#0上運行softirq disabled代碼,中斷發生,出現了softirq,但是被推遲(deferred)(因為softirqs disabled)t1
線程調用cond_resched_softirq()
,通過_local_bh_enable()
調用schedule()
再次激活so
NOHZ
是只是顯示了系統存在的問題,具體原因還是要進一步分析
在Red Hat官方文檔中有一個 VMware guest hangup and "NOHZ: local_softirq_pending 100" logged 提示了類似情況