Перевірка «черги» на шині D-Bus
Це найшвидший спосіб побачити, чи не плодяться нові підключення. Якщо ти бачиш сотні рядків із : на початку, значить хтось спамить.
# List all active D-Bus connections
busctl --system list | grep -E ":1\.[0-9]{5,}"
На що дивитися: Якщо список постійно росте або цифри після крапки дуже великі (наприклад, :1.166...), значить якийсь процес постійно перепідключається.
Моніторинг трафіку в реальному часі
Якщо хочеш побачити, що саме «літає» по шині, використай цей монітор. Він покаже кожен запит до BlueZ.
# Monitor only BlueZ related signals
sudo dbus-monitor --system "sender='org.bluez'"
Ознака проблеми: Екран «біжить» занадто швидко, і ти бачиш нескінченні повтори GetManagedObjects.
Пошук «завислих» процесів
Іноді скрипти запускають bluetoothctl, але не закривають його правильно. Це команда покаже, скільки копій зараз у пам'яті:
# Count active bluetoothctl processes
ps aux | grep [b]luetoothctl
Ознака проблеми: Більше 1–2 рядків у виводі (якщо ти сам зараз не працюєш у консолі Bluetooth).
Аналіз логів сервісу
Bluetooth-демон сам підкаже, якщо йоми стає «важко».
# Check last 20 lines of the bluetooth service log
journalctl -u bluetooth --no-pager -n 20
На що дивитися: Повторювані повідомлення про реєстрацію Endpoint або дивні розриви з’єднання (Unknown disconnection value).