systemd-udevd CPU 使用率高

systemd-udevd CPU 使用率高

几天前,我在带有 Broadcom BCM2046 蓝牙的旧戴尔笔记本电脑上安装了 Antergos。从那时起我就遇到了蓝牙问题。

首先,没有找到适配器。这以某种方式解决了(我不确定我是否解决了或者可能很少重新启动就完成了工作)。但现在,即使启用了蓝牙并且它设法找到周围的一些蓝牙设备,它也无法连接到它们。主要问题实际上是,systemd-udevd 消耗约 100% 的 CPU,这显然与蓝牙有关,因为如果我禁用蓝牙并重新启动计算机,systemd-udevd CPU 消耗只有百分之几。

这是 dmesg:https://pastebin.com/9NJ3ihdM 其中重要的日志是:

[   12.957279] usb 8-2.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71

来自 udevadm 监视器的日志有很多这样的行:

UDEV  [4035.892029] unbind   /devices/pci0000:00/0000:00:1d.2/usb8/8-2/8-2.2/8-2.2:1.0 (usb)
UDEV  [4036.034323] bind     /devices/pci0000:00/0000:00:1d.2/usb8/8-2/8-2.2/8-2.2:1.0 (usb)

这可能是CPU使用率高的原因(尽管不是根本原因)

我尝试手动运行 hid2hci 工具:

sudo hid2hci --devpath=devices/pci0000:00/0000:00:1d.2/usb8/8-2 --method=dell

但我得到:

Control transfer failed: Broken pipe (32)
error: switching device '/sys/devices/pci0000:00/0000:00:1d.2/usb8/8-2' failed.

有什么想法如何解决这个问题吗?

我还需要标记蓝牙曾经适用于 Kubuntu 16.04 和 KDE Neon

答案1

我在 Ubuntu 18.04 上使用 Dell 笔记本电脑(内核版本 4.15.0-20-generic),并且我还遇到了 systemd-udevd 堵塞我的 cpu 的问题。

我一直在整个互联网上寻找解决方案,似乎很多遇到这个问题的人都将其与某些蓝牙软件包“bluez”联系起来(似乎这是一个特定的戴尔问题,并且仅适用于较新的内核)。

就我而言,我不需要蓝牙,所以我只是删除了包并运行sudo systemctl restart systemd-udevd

此后CPU负载正常!

答案2

我使用的是带有 msi 的 manjaro,对我来说,具体是bluez-utils-compat导致问题的软件包。删除它修复它

答案3

我运行的是 Dell Latitude e4300。当我在 BIOS 中禁用板载蓝牙时,我发现高 cpu 问题消失了。

相关内容