挂起失败时 wq_busy=1 表示什么?

挂起失败时 wq_busy=1 表示什么?

升级到 15.10 后,我的笔记本电脑不再挂起。 dmesg

[…] PM: Syncing filesystems ... done.
[…] PM: Preparing system for sleep (mem)
[…] Freezing user space processes ... (elapsed 0.001 seconds) done.
[…] Freezing remaining freezable tasks ... 
[…] Freezing of tasks failed after 20.008 seconds (0 tasks refusing to freeze, wq_busy=1):

这似乎wq_busy是事实,但我没能找出原因或如何解决它。(互联网搜索似乎总是会出现更常见的情况,即任务拒绝冻结。)这表明了什么wq_busy=1

答案1

wq_busy显然是内核中工作队列的忙标志的变量名。为什么它在我的机器上的某些工作队列中停留在 true 尚不清楚,因为在我尝试诊断时问题消失了。如果它对将来的某人有用,我做了以下事情:

  1. 重复此操作,直到所有应用程序都关闭:
    1. 关闭应用程序。
    2. 尝试暂停,但没有成功。
  2. 禁用网络。
  3. 尝试暂停,但没有成功。
  4. 重新启动(意图获得一个干净的进程列表;我打算逐步禁用一些东西,希望非关键进程是罪魁祸首)。
  5. 尝试暂停,出乎意料地成功了。
  6. 重新启用网络。
  7. 尝试再次暂停,成功。

因此,严格基于观察,而不是基于对问题的任何理解,我猜测以下是一种解决方法或修复方法:

  1. 禁用网络。
  2. 重启。
  3. 重新启用网络。

答案2

我遇到了同样的问题。wq_busy是 1. 我怀疑它是在 18.10 升级后开始发生的。

我做了一些研究,发现了一篇关于寻找专门针对笔记本电脑的硬件解决方案的帖子,以及另一篇关于的帖子cdemu

https://forums.gentoo.org/viewtopic-t-952364-start-0.html

就我而言,删除gcdemu、、,然后自动删除,即可使我的休眠模式再次正常工作cdemu-clientcdemu-daemonvhba-dkmslibmirage11

答案3

几个月前,我在 Ubuntu 系统(现在为 20.04)中启用了休眠功能,但现在和过去一样,我遇到了一些问题。因此,在最后一次事件中,我在休眠过程中在“dmsg”中发现了以下内容:

20.005 秒后任务冻结失败(0 个任务拒绝冻结,wq_busy=1)...

我通过将冻结超时从 20 秒增加到 30 秒来解决:

回显 30000 > /sys/power/pm_freeze_timeout

并使它永久存在系统文件实用程序写完之后

电源/pm_freeze_timeout = 30000

在文件中/etc/sysfs.d目录

相关内容