Debian
任務如何在掛起時“拒絕凍結”?
昨天,當我關閉我的筆記型電腦時,它並沒有立即進入待機模式。根據日誌,它正在嘗試,但任務拒絕凍結:
Freezing of tasks failed after 20.005 seconds (1 tasks refusing to freeze, wq_busy=0):
這持續了幾個小時,直到系統真正暫停。
syslog
充滿了類似這個問題的消息,因為systemd
一次又一次地嘗試。這怎麼可能發生?為什麼調度程序不能停止調度該應用程序?然後它被有效地凍結了?我讀到有多個
STOP
命令,其中一個很好地詢問,其中一個強制凍結。為什麼systemd
不使用這個或者為什麼這在這裡不起作用?
任務凍結在核心文件中有詳細記錄。
使用者空間程序不能拒絕凍結;它們確實被凍結了,但核心和程序之間的信號由信號處理程式碼自動處理(凍結使用假信號)。
如果您看到“任務拒絕凍結”消息,這意味著核心執行緒拒絕凍結,通常是因為它正在執行無法設置檢查點的操作。然而,不得不等待幾個小時讓核心掛起是不正常的。日誌消息中的堆棧跟踪將有助於了解發生了什麼問題。