Debian

任務如何在掛起時“拒絕凍結”?

  • November 17, 2021

昨天,當我關閉我的筆記型電腦時,它並沒有立即進入待機模式。根據日誌,它正在嘗試,但任務拒絕凍結:

Freezing of tasks failed after 20.005 seconds (1 tasks refusing to freeze, wq_busy=0):

這持續了幾個小時,直到系統真正暫停。syslog充滿了類似這個問題的消息,因為systemd一次又一次地嘗試。

這怎麼可能發生?為什麼調度程序不能停止調度該應用程序?然後它被有效地凍結了?我讀到有多個STOP命令,其中一個很好地詢問,其中一個強制凍結。為什麼systemd不使用這個或者為什麼這在這裡不起作用?

任務凍結在核心文件中有詳細記錄。

使用者空間程序不能拒絕凍結;它們確實被凍結了,但核心和程序之間的信號由信號處理程式碼自動處理(凍結使用假信號)。

如果您看到“任務拒絕凍結”消息,這意味著核心執行緒拒絕凍結,通常是因為它正在執行無法設置檢查點的操作。然而,不得不等待幾個小時讓核心掛起是不正常的。日誌消息中的堆棧跟踪將有助於了解發生了什麼問題。

引用自:https://unix.stackexchange.com/questions/425661