Перевірка «черги» на шині 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).