昨天,当我关闭我的笔记本电脑时,它并没有立即进入待机模式。根据日志,它正在尝试,但任务拒绝冻结:
Freezing of tasks failed after 20.005 seconds (1 tasks refusing to freeze, wq_busy=0):
这持续了几个小时,直到系统真正暂停。syslog
充满了类似这个问题的消息,因为systemd
一次又一次地尝试。
这怎么可能发生?为什么调度程序不能停止调度该应用程序?然后它被有效地冻结了?我读到有多个STOP
命令,其中一个很好地询问,其中一个强制冻结。为什么systemd
不使用这个或者为什么这在这里不起作用?
任务冻结在内核文档中有详细记录。
用户空间进程不能拒绝冻结;它们确实被冻结了,但内核和进程之间的信号由信号处理代码自动处理(冻结使用假信号)。
如果您看到“任务拒绝冻结”消息,这意味着内核线程拒绝冻结,通常是因为它正在执行无法设置检查点的操作。然而,不得不等待几个小时让内核挂起是不正常的。日志消息中的堆栈跟踪将有助于了解发生了什么问题。