Ubuntu 18.04 systemd-udevd 使用高CPU,与wifi冲突

Fir*_*iam 32 cpu-load wireless systemd systemd-journald 18.04

我最近从 Kubuntu 17.10 切换到 Kubuntu 18.04(全新安装)。问题是该进程systemd-udevd不断运行并消耗 90-100% 的 CPU 负载。在修补了所有设备后,我发现这是因为 WiFi!一旦我打开 WiFi 进程开始运行,CPU 负载上升到 100%。但是每当我关闭 WiFi 时,它就会降为零!这是打开topWiFi 时的结果:

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                           
  338 root      20   0   94336  51744   3120 S  44.7  0.6   0:35.50 systemd-udevd                                                     
  24957 root    20   0   67936  25248   2860 R  40.4  0.3   0:23.85 systemd-udevd                                                     
  328 root      19  -1  150720  53068  52264 S   4.3  0.7   0:07.61 systemd-journal
Run Code Online (Sandbox Code Playgroud)

并运行:strace -p 338重复执行以下输出:

strace: Process 338 attached
strace: [ Process PID=338 runs in x32 mode. ]
strace: [ Process PID=338 runs in 64 bit mode. ]
epoll_wait(10, [{EPOLLIN, {u32=4010170080, u64=94544830289632}}, {EPOLLIN, {u32=4010060672, u64=94544830180224}}], 11, 0) = 2
clock_gettime(CLOCK_REALTIME, {tv_sec=1524848329, tv_nsec=484799898}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1045, tv_nsec=112300760}) = 0
clock_gettime(CLOCK_BOOTTIME, {tv_sec=1045, tv_nsec=112454363}) = 0
epoll_wait(10, [{EPOLLIN, {u32=4010170080, u64=94544830289632}}, {EPOLLIN, {u32=4010060672, u64=94544830180224}}], 11, 0) = 2
clock_gettime(CLOCK_REALTIME, {tv_sec=1524848329, tv_nsec=485376240}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1045, tv_nsec=112893238}) = 0
clock_gettime(CLOCK_BOOTTIME, {tv_sec=1045, tv_nsec=113047679}) = 0
recvmsg(7, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="", iov_len=0}], msg_iovlen=1, msg_control=[{cmsg_len=28, cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS, cmsg_data={pid=24957, uid=0, gid=0}}], msg_controllen=32, msg_flags=0}, MSG_DONTWAIT) = 0
recvmsg(7, {msg_namelen=0}, MSG_DONTWAIT) = -1 EAGAIN (Resource temporarily unavailable)
sendmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=-853365251, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base="libudev\0\376\355\312\376(\0\0\0(\0\0\0\315\0\0\0\5w\305\345\261\2Ge"..., iov_len=40}, {iov_base="ACTION=unbind\0DEVPATH=/devices/p"..., iov_len=205}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, 0) = 245
epoll_wait(10, [{EPOLLIN, {u32=4010170080, u64=94544830289632}}], 11, 0) = 1
clock_gettime(CLOCK_REALTIME, {tv_sec=1524848329, tv_nsec=495431807}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1045, tv_nsec=123814890}) = 0
clock_gettime(CLOCK_BOOTTIME, {tv_sec=1045, tv_nsec=123945023}) = 0
recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=0x000001}, msg_namelen=128->12, msg_iov=[{iov_base="unbind@/devices/pci0000:00/0000:"..., iov_len=8192}], msg_iovlen=1, msg_control=[{cmsg_len=28, cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS, cmsg_data={pid=0, uid=0, gid=0}}], msg_controllen=32, msg_flags=0}, 0) = 243
getrandom("\x9c\x6d\x41\x2b\xb5\xf0\xf1\x9a\x32\xb3\x4a\x73\xee\x04\xff\x90", 16, GRND_NONBLOCK) = 16
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1045, tv_nsec=126971116}) = 0
getrandom("\xaf\x35\x7a\x36\x01\x32\xa6\xe6\x13\x46\x4e\x22\xcc\x48\x77\x9b", 16, GRND_NONBLOCK) = 16
getrandom("\x48\x0b\xeb\xf1\xf0\x1c\xf1\x78\x89\xb7\x48\xe1\x84\x38\xc9\x3c", 16, GRND_NONBLOCK) = 16
getrandom("\x11\x06\x8c\x4a\xeb\xff\x84\x8e\x0c\x09\x00\x84\x62\x74\xfc\xd7", 16, GRND_NONBLOCK) = 16
getrandom("\xb5\x8e\x19\x16\xad\xf6\x16\x7e\x21\x66\x90\x12\x2d\x43\x46\x45", 16, GRND_NONBLOCK) = 16
getrandom("\x84\x7d\x47\x96\x50\x36\xad\x28\x06\x6e\xed\x33\xe0\x05\x57\x20", 16, GRND_NONBLOCK) = 16
epoll_wait(10, [{EPOLLIN, {u32=4010170080, u64=94544830289632}}, {EPOLLIN, {u32=4010060672, u64=94544830180224}}], 11, 0) = 2
clock_gettime(CLOCK_REALTIME, {tv_sec=1524848329, tv_nsec=504542288}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1045, tv_nsec=131992368}) = 0
clock_gettime(CLOCK_BOOTTIME, {tv_sec=1045, tv_nsec=132096027}) = 0
epoll_wait(10, [{EPOLLIN, {u32=4010170080, u64=94544830289632}}, {EPOLLIN, {u32=4010060672, u64=94544830180224}}], 11, 0) = 2
clock_gettime(CLOCK_REALTIME, {tv_sec=1524848329, tv_nsec=504955877}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1045, tv_nsec=132438717}) = 0
clock_gettime(CLOCK_BOOTTIME, {tv_sec=1045, tv_nsec=132555928}) = 0
recvmsg(7, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="", iov_len=0}], msg_iovlen=1, msg_control=[{cmsg_len=28, cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS, cmsg_data={pid=24957, uid=0, gid=0}}], msg_controllen=32, msg_flags=0}, MSG_DONTWAIT) = 0
recvmsg(7, {msg_namelen=0}, MSG_DONTWAIT) = -1 EAGAIN (Resource temporarily unavailable)
sendmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=-853365251, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base="libudev\0\376\355\312\376(\0\0\0(\0\0\0\23\1\0\0\5w\305\345\261\2Ge"..., iov_len=40}, {iov_base="ACTION=bind\0DEVPATH=/devices/pci"..., iov_len=275}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, 0) = 315
epoll_wait(10, [{EPOLLIN, {u32=4010170080, u64=94544830289632}}], 11, 0) = 1
clock_gettime(CLOCK_REALTIME, {tv_sec=1524848329, tv_nsec=512870505}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1045, tv_nsec=140367037}) = 0
clock_gettime(CLOCK_BOOTTIME, {tv_sec=1045, tv_nsec=140494166}) = 0
recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=0x000001}, msg_namelen=128->12, msg_iov=[{iov_base="bind@/devices/pci0000:00/0000:00"..., iov_len=8192}], msg_iovlen=1, msg_control=[{cmsg_len=28, cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS, cmsg_data={pid=0, uid=0, gid=0}}], msg_controllen=32, msg_flags=0}, 0) = 311
getrandom("\x21\xcd\x52\xae\x20\xa4\xe9\x0f\x2c\x3f\x68\x8a\x77\x65\xfb\x22", 16, GRND_NONBLOCK) = 16
getrandom("\xb5\x1f\x43\xf7\x14\x3e\x29\x6c\xdd\x95\xd5\x64\xec\xec\x66\xca", 16, GRND_NONBLOCK) = 16
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1045, tv_nsec=141295429}) = 0
getrandom("\xe7\x73\x2e\xc2\x5d\x71\x93\x8a\xd0\xf4\x5f\xd7\x91\x1f\x7b\x00", 16, GRND_NONBLOCK) = 16
getrandom("\xe4\xd4\xd3\x2c\xa2\xa1\x0c\x96\x6e\x6a\x34\x9c\x50\x06\x3d\x43", 16, GRND_NONBLOCK) = 16
getrandom("\xb0\x7f\xf7\x93\x1f\xa6\x6d\x2e\x01\xfb\x21\x97\x4b\xe8\x85\x14", 16, GRND_NONBLOCK) = 16
getrandom("\x3f\x94\x2b\x17\x01\x8f\x88\x2e\x08\xa0\x9d\xd0\xef\x4f\x0e\x9a", 16, GRND_NONBLOCK) = 16
epoll_wait(10, [{EPOLLIN, {u32=4010170080, u64=94544830289632}}, {EPOLLIN, {u32=4010060672, u64=94544830180224}}], 11, 0) = 2
clock_gettime(CLOCK_REALTIME, {tv_sec=1524848329, tv_nsec=519062044}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1045, tv_nsec=146474265}) = 0
clock_gettime(CLOCK_BOOTTIME, {tv_sec=1045, tv_nsec=146513033}) = 0
epoll_wait(10, [{EPOLLIN, {u32=4010170080, u64=94544830289632}}, {EPOLLIN, {u32=4010060672, u64=94544830180224}}], 11, 0) = 2
clock_gettime(CLOCK_REALTIME, {tv_sec=1524848329, tv_nsec=519231922}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1045, tv_nsec=146636530}) = 0
clock_gettime(CLOCK_BOOTTIME, {tv_sec=1045, tv_nsec=146675297}) = 0
recvmsg(7, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="", iov_len=0}], msg_iovlen=1, msg_control=[{cmsg_len=28, cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS, cmsg_data={pid=24957, uid=0, gid=0}}], msg_controllen=32, msg_flags=0}, MSG_DONTWAIT) = 0
recvmsg(7, {msg_namelen=0}, MSG_DONTWAIT) = -1 EAGAIN (Resource temporarily unavailable)
sendmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=-853365251, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base="libudev\0\376\355\312\376(\0\0\0(\0\0\0\315\0\0\0\5w\305\345\261\2Ge"..., iov_len=40}, {iov_base="ACTION=unbind\0DEVPATH=/devices/p"..., iov_len=205}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, 0) = 245
epoll_wait(10, [{EPOLLIN, {u32=4010170080, u64=94544830289632}}], 11, 0) = 1
clock_gettime(CLOCK_REALTIME, {tv_sec=1524848329, tv_nsec=525080911}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1045, tv_nsec=152528058}) = 0
clock_gettime(CLOCK_BOOTTIME, {tv_sec=1045, tv_nsec=152611810}) = 0
....
Run Code Online (Sandbox Code Playgroud)

运行会udevadm monitor重复打印以下内容:

KERNEL[1464.842652] bind     /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.0 (usb)
KERNEL[1464.844393] unbind   /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.0 (usb)
UDEV  [1464.845340] bind     /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.0 (usb)
KERNEL[1464.857728] bind     /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.0 (usb)
KERNEL[1464.858361] unbind   /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.0 (usb)
....
Run Code Online (Sandbox Code Playgroud)

journalctl反复运行返回:

Apr 27 05:22:09 amir-pc systemd-udevd[359]: Process 'hid2hci --method=dell --devpath=/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3
Apr 27 05:22:09 amir-pc upowerd[1339]: unhandled action 'unbind' on /sys/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.0
-- Logs begin at Fri 2018-04-27 05:22:09 +0430, end at Fri 2018-04-27 21:37:15 +0430. --
Apr 27 05:22:09 amir-pc systemd-udevd[359]: Process 'hid2hci --method=dell --devpath=/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3
Apr 27 05:22:09 amir-pc upowerd[1339]: unhandled action 'unbind' on /sys/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.0
Apr 27 05:22:09 amir-pc systemd-udevd[359]: Process 'hid2hci --method=dell --devpath=/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3
Apr 27 05:22:09 amir-pc upowerd[1339]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.0
....
Run Code Online (Sandbox Code Playgroud)

运行dmesg返回:

[  441.582359] usb 3-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  441.582361] usb 3-1.3: Product: Dell Wireless 370 Bluetooth Mini-card
[  441.582363] usb 3-1.3: Manufacturer: Dell Computer Corp
[  450.803644] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.811642] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.819653] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.826650] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.833668] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.841644] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.848630] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.856628] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.863632] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.871611] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.881629] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.888616] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.896634] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.903596] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.910611] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.917595] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.926603] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.933598] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.942616] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.949606] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.957363] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.964607] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.973581] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.980582] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.987582] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  450.994561] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  451.004574] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  451.009525] ERROR @wl_cfg80211_scan : 
[  451.009527] WLC_SCAN error (-22)
[  451.010550] usb 3-1.2: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt 33 rq 9 len 4 ret -71
[  451.020078] usb 3-1: USB disconnect, device number 14
[  451.020081] usb 3-1.1: USB disconnect, device number 15
[  451.076974] usb 3-1.2: USB disconnect, device number 16
[  451.077105] usb 3-1.3: USB disconnect, device number 19
[  796.468102] usb 3-1: new full-speed USB device number 20 using uhci_hcd
[  796.672318] usb 3-1: New USB device found, idVendor=0a5c, idProduct=4500
[  796.672322] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  796.672325] usb 3-1: Product: BCM2046B1
[  796.672328] usb 3-1: Manufacturer: Broadcom
[  796.674239] hub 3-1:1.0: USB hub found
[  796.676385] hub 3-1:1.0: 3 ports detected
[  796.976059] usb 3-1.1: new full-speed USB device number 21 using uhci_hcd
[  797.109323] usb 3-1.1: New USB device found, idVendor=413c, idProduct=8157
[  797.109332] usb 3-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[  797.116785] input: HID 413c:8157 as /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.1/3-1.1:1.0/0003:413C:8157.000B/input/input25
[  797.176461] hid-generic 0003:413C:8157.000B: input,hidraw0: USB HID v1.11 Keyboard [HID 413c:8157] on usb-0000:00:1a.0-1.1/input0
[  797.256314] usb 3-1.2: new full-speed USB device number 22 using uhci_hcd
[  797.396307] usb 3-1.2: New USB device found, idVendor=413c, idProduct=8158
[  797.396315] usb 3-1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[  797.405072] input: HID 413c:8158 as /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.0/0003:413C:8158.000C/input/input26
[  797.464858] hid-generic 0003:413C:8158.000C: input,hidraw3: USB HID v1.11 Mouse [HID 413c:8158] on usb-0000:00:1a.0-1.2/input0
[  797.564507] IPv6: ADDRCONF(NETDEV_UP): wlp4s0: link is not ready
[  797.944045] usb 3-1.3: new full-speed USB device number 23 using uhci_hcd
[  803.296508] usb 3-1.3: unable to read config index 0 descriptor/all
[  803.296515] usb 3-1.3: can't read configurations, error -110
[  803.376039] usb 3-1.3: new full-speed USB device number 24 using uhci_hcd
[  808.672986] usb 3-1.3: unable to read config index 0 descriptor/all
[  808.672993] usb 3-1.3: can't read configurations, error -110
[  808.673984] usb 3-1-port3: attempt power cycle
[  809.280029] usb 3-1.3: new full-speed USB device number 25 using uhci_hcd
[  809.340944] usb 3-1.3: New USB device found, idVendor=413c, idProduct=8156
[  809.340948] usb 3-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  809.340951] usb 3-1.3: Product: Dell Wireless 370 Bluetooth Mini-card
[  809.340954] usb 3-1.3: Manufacturer: Dell Computer Corp
[ 1337.985097] perf: interrupt took too long (2508 > 2500), lowering kernel.perf_event_max_sample_rate to 79500
[ 1387.269440] perf: interrupt took too long (3140 > 3135), lowering kernel.perf_event_max_sample_rate to 63500
[ 1454.553305] perf: interrupt took too long (3927 > 3925), lowering kernel.perf_event_max_sample_rate to 50750
....
Run Code Online (Sandbox Code Playgroud)

/lib/systemd/systemd-udevd -D反复运行返回以下结果:

IMPORT builtin 'hwdb' /lib/udev/rules.d/50-udev-default.rules:14
RUN 'hid2hci --method=dell --devpath=%p' /lib/udev/rules.d/97-hid2hci.rules:11
starting 'hid2hci --method=dell --devpath=/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.0'
seq 284188 queued, 'bind' 'usb'
seq 284189 queued, 'unbind' 'usb'
'hid2hci --method=dell --devpath=/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.0'(err) 'error: switching device '/sys//devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.0' failed.'
Process 'hid2hci --method=dell --devpath=/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.0' failed with exit code 1.
seq 284184 processed
seq 284185 running
RUN 'hid2hci --method=dell --devpath=%p' /lib/udev/rules.d/97-hid2hci.rules:11
starting 'hid2hci --method=dell --devpath=/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.0'
seq 284190 queued, 'bind' 'usb'
seq 284191 queued, 'unbind' 'usb'
Run Code Online (Sandbox Code Playgroud)

我新安装的 Kubuntu 使用的是内核版本4.15.0-20-generic,我的笔记本电脑是 Dell Studio XPS 1640。WiFi 正在使用bcmwl-kernel-source 6.30.223.271+bdcom-0ubuntu4驱动程序(降级到以前的工作驱动程序没有解决问题)。

值得一提的是,没有连接USB设备,只有无线鼠标,这没有问题(断开连接不影响问题)。但如前所述,关闭 WiFi 总是会使高 CPU 负载消失。

小智 34

这是一个解决方法:

启动后立即运行以下命令:

sudo systemctl stop systemd-udevd systemd-udevd-kernel.socket systemd-udevd-control.socket
sudo systemctl start systemd-udevd systemd-udevd-kernel.socket systemd-udevd-control.socket
Run Code Online (Sandbox Code Playgroud)

它适用于我的戴尔笔记本电脑。


apo*_*sis 24

我在 Dell XPS Studio 1340 上安装了 Ubuntu 18.04 LTS (AMD64),但遇到了同样的问题。我已经通过从 BIOS完全禁用蓝牙来解决它。我知道这不是解决方案,而是一种解决方法,但它对我有用,因为我很少使用蓝牙。

它看起来像是内核或 systemd 中的一个错误,但尚未修复:


小智 6

我想我已经找到了答案。

/lib/systemd/systemd-udevd -D
Run Code Online (Sandbox Code Playgroud)

应该在包含“.../97-hid2hci.rules:”的无限循环中打印垃圾

如果是这样,编辑 /lib/udev/rules.d/97-hid2hci.rules

并添加

ACTION=="add" 
Run Code Online (Sandbox Code Playgroud)

在上面命令提到的行前面。

它应该是这样的(我使用的是 Fedora 28,但问题看起来相同):

ACTION=="add", ATTR{bInterfaceClass}=="03", ATTR{bInterfaceSubClass}=="01", ATTR{bInterfaceProtocol}=="02", \
  ATTRS{bDeviceClass}=="00", ATTRS{idVendor}=="413c", ATTRS{bmAttributes}=="e0", \
  RUN+="hid2hci --method=dell --devpath=%p", ENV{HID2HCI_SWITCH}="1"
Run Code Online (Sandbox Code Playgroud)

通过上述修复,在我的旧戴尔上一切正常。希望有帮助;)


小智 5

就我而言,这个问题是由于 bluez。打开 Synaptic 包管理器并搜索 bluez,然后将其卸载。您的问题将得到解决。


小智 5

正如之前的答案中所述,它与不是最好的戴尔无线 370 蓝牙有关,而且我的戴尔 Studio XPS 1645 也受到了它的影响。

不仅蓝牙支持几年来一直运行不佳,现在内核驱动程序中出现了影响 CPU 使用率的新问题。

我只想补充一点,而不是删除 /lib/udev/rules.d/97-hid2hci.rules 文件,而是创建一个空文件:

touch /etc/udev/rules.d/97-hid2hci.rules
Run Code Online (Sandbox Code Playgroud)

这将保证在 bluez 软件包更新后问题不会再次出现。

附带说明一下,我已经在 ebay 上以一两英镑的价格购买了蓝牙加密狗,但我当然希望笔记本电脑按预期工作。