从深度睡眠中醒来后,Ubuntu 18.04 耗电非常快

G. *_*cki 7 battery suspend dell power-management 18.04

我很高兴拥有安装了 Ubuntu 18.04 LTS(内核 4.15.0-46,nouveau 驱动程序)和外部键盘 + 显示器的戴尔 XPS 9570 笔记本电脑。它工作得非常好,它的电池寿命也很长......好吧,至少在从挂起(深度睡眠)中醒来之前。总是在醒来后,Ubuntu 会非常快地耗尽我的电池电量,而且风扇比平时更响亮。关闭所有正在运行的应用程序没有任何区别:/

与硬件无关,因为这台笔记本电脑预装的Windows 10没有这样的问题。

我检查了dmesg, top,powertop命令的输出,但没有发现任何异常。CPU使用率非常低。我也试过 Nvidia 专有驱动程序,但没有帮助。任何提示可能有什么问题?

G. *_*cki 9

简短回答:事实证明这是内核 4.15 和触摸板之间的某个问题。

禁用触摸板解决了问题:

sudo rmmod hid_multitouch
Run Code Online (Sandbox Code Playgroud)

这对我来说是一个可以接受的解决方法,因为我大部分时间都使用外接鼠标。在极少数情况下,当我手头没有鼠标时,我通过在唤醒后禁用 + 启用触摸板来解决问题:

sudo rmmod hid_multitouch
sudo modprobe hid_multitouch
Run Code Online (Sandbox Code Playgroud)

编辑 2020 年 3 月:前段时间,我意识到在恢复笔记本电脑后使用触摸板的片刻也可以解决问题。


长答案

top命令显示总体 CPU 使用率较低(低于 8%),但令人惊讶的是以下命令:

watch -n1 "cat /proc/cpuinfo | grep \"^[c]pu MHz\""
Run Code Online (Sandbox Code Playgroud)

显示所有 CPU 内核都以最高频率(~3.8 GHz) 运行!,而由于空闲状态,我期望看到可能的最低频率 (0.8 GHz)。在sudo powertop已经证明,高功耗确实是从CPU的到来。

于是我回到top命令的结果,仔细观察,有一个进程看起来很可疑:irq/51-SYNA2393

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
21874 root      20   0       0      0      0 I   2.0  0.0   0:03.18 kworker/0:0
    1 root      20   0  225780   9392   6472 S   1.0  0.0   0:21.78 systemd
  513 root     -51   0       0      0      0 D   5.3  0.0   1:00.15 irq/51-SYNA2393
 2673 greg      20   0 4569240 205392  73916 S   1.0  0.6   1:54.94 gnome-shell
 ...
Run Code Online (Sandbox Code Playgroud)

dmesg | grep SYNA输出:

[148428.423272] input: SYNA2393:00 06CB:7A13 Touchpad (...)
[148428.423893] hid-multitouch 0018:06CB:7A13.0001: input,hidraw1: I2C HID v1.00 Mouse [SYNA2393:00 06CB:7A13] on i2c-SYNA2393:00
Run Code Online (Sandbox Code Playgroud)

透露 IRQ 51 来自笔记本电脑的触摸板。我就是这样找到罪魁祸首的。

老实说,我不确定这是 Linux 内核内部的错误,或者只是我的触摸板没有得到一流的支持。当我尝试使用较新内核的较新 Ubuntu 版本时,我会更新这篇文章。

  • 在运行带有 5.0.0-37-generic 的 ubuntu 18.04.1 的 XPS 9570 上卸载 `hid_mulittouch` 驱动程序对我来说*不*工作,但是 *did* 工作在做什么:`sudo rmmod i2c_hid` `sudo modprobe i2c_hid` 作为每条评论:https://gitlab.freedesktop.org/libinput/libinput/issues/263#note_147818 (2认同)