저는 표준 Ubuntu 18.04를 실행하고 있습니다. 일주일 전에 업그레이드한 후 블루투스가 작동을 멈췄습니다. 100% CPU에서 실행되는 것으로 top
표시됩니다 .bluetoothd
top - 20:35:01 up 19 min, 1 user, load average: 1,74, 2,32, 1,62
Tasks: 347 total, 2 running, 281 sleeping, 0 stopped, 0 zombie
%Cpu(s): 27,7 us, 1,3 sy, 0,0 ni, 71,1 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st
KiB Mem : 8024888 total, 979120 free, 3965944 used, 3079824 buff/cache
KiB Swap: 8242172 total, 8242172 free, 0 used. 3400808 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1180 root 20 0 121108 88060 4152 R 100,0 1,1 19:37.59 bluetoothd
bluez를 5.50-0ubuntu0ppa1로 업그레이드했지만 도움이 되지 않았습니다.
syslog를 연구하면서 몇 가지 흥미로운 내용을 발견했습니다.
NetworkManager[1259]: <info> [1603476921.1850] Loaded device plugin: NMBluezManager (/usr/lib/x86_64-linux-gnu/NetworkManager/libnm-device-plugin-bluetooth.so)
gnome-bluetooth-panel.desktop[4733]: Agent registration failed: Timeout was reached
dbus-daemon[3607]: [session uid=1000 pid=3607] Activating via systemd: service name='org.bluez.obex' unit='dbus-org.bluez.obex.service' requested by ':1.85' (uid=1000 pid=4733 comm="gnome-control-center bluetooth " label="unconfined")
obexd[4964]: bluetooth: RequestProfile error: org.freedesktop.DBus.Error.NoReply, Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
systemd[1]: bluetooth.target: Unit not needed anymore. Stopping.
gnome-bluetooth-panel.desktop[4733]: Agent unregistration failed: Timeout was reached 'g-io-error-quark'
sudo systemctl disable bluetooth.service
블루투스를 완전히 비활성화하려면 사용하고 재부팅할 수 있습니다.
내 질문:
- 블루투스를 어떻게 수정하나요?
답변1
Ubuntu 20.04.5 LTS에서는 여전히 발생하며 100% CPU를 사용하는 top
프로세스를 보여줍니다 .bluetoothd
일반적으로 서비스를 다시 시작하면 문제가 해결됩니다.
서비스에 대한 정보를 얻으세요:
systemctl status bluetooth
내 경우에는 다음과 같은 결과가 나왔습니다.
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2022-10-09 15:58:25 CEST; 1 day 17h ago
Docs: man:bluetoothd(8)
Main PID: 1139 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 38124)
Memory: 3.2M
CGroup: /system.slice/bluetooth.service
└─1139 /usr/lib/bluetooth/bluetoothd
oct 10 23:32:10 ljaouen-Precision-5560 bluetoothd[1139]: Can't get HIDP connection info
oct 10 23:32:15 ljaouen-Precision-5560 bluetoothd[1139]: connect error: Host is down (112)
oct 10 23:32:40 ljaouen-Precision-5560 bluetoothd[1139]: Can't get HIDP connection info
oct 10 23:32:45 ljaouen-Precision-5560 bluetoothd[1139]: connect error: Host is down (112)
oct 10 23:33:10 ljaouen-Precision-5560 bluetoothd[1139]: Can't get HIDP connection info
oct 10 23:33:15 ljaouen-Precision-5560 bluetoothd[1139]: connect error: Host is down (112)
oct 10 23:33:40 ljaouen-Precision-5560 bluetoothd[1139]: Can't get HIDP connection info
oct 10 23:33:45 ljaouen-Precision-5560 bluetoothd[1139]: connect error: Host is down (112)
oct 10 23:34:10 ljaouen-Precision-5560 bluetoothd[1139]: Can't get HIDP connection info
oct 10 23:34:15 ljaouen-Precision-5560 bluetoothd[1139]: connect error: Host is down (112)
이는 다음을 의미합니다.
- 시작된 것이 바로 이 서비스입니다
bluetoothd
(가능하지만 죄송한 것보다 안전한 것이 좋습니다) - 일부 로그에 오류가 표시됨
서비스를 다시 시작합니다.
sudo systemctl restart bluetooth
프로세스가 bluetoothd
홈 페이지에서 사라졌습니다 htop
.
답변2
사용자 "svartalf"가 해결책을 찾았습니다(https://bbs.archlinux.org/viewtopic.php?id=229740)
나는 인용한다:
음, /var/lib/bluetooth/를 삭제하면 문제가 해결될 것 같습니다. 아직도 그것이 무엇인지 모릅니다. Bluetooth 프로세스의 성능은 일부 strlen 호출에서 막혔음을 나타냅니다.
그래서 그냥
rm -rf /var/lib/bluetooth/*
제 경우에는 효과가 있었습니다.