任务如何在挂起时“拒绝冻结”?


17

昨天,当关闭我的笔记本电脑时,它没有立即进入待机模式。根据日志,它正在尝试,但是一个任务拒绝冻结:

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

持续进行了几个小时,直到系统真正挂起。在syslog满像的消息的这个问题,因为systemd一次又一次的尝试。

怎么会这样 调度程序为什么不能停止调度该应用程序?然后有效地冻结了?我读到有多个STOP命令,其中一个很好地询问,其中一个强制冻结。为什么systemd不使用它,或者为什么在这里不起作用?

Answers:


25

任务冻结在内核文档中有详细记录

用户空间进程不能拒绝冻结;它们确实被冻结了,但是内核和进程之间的信令是由信号处理代码自动处理的(冻结使用伪信号)。

如果您看到“任务拒绝冻结”消息,则意味着内核线程拒绝冻结,通常是因为它正在执行无法检查的操作。但是,必须等待几个小时才能挂起内核是不正常的;日志消息中的堆栈跟踪将有助于您了解发生了什么问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.