Система зависает случайным образом без явных ошибок в Ubuntu 22.04 LTS

Вопрос или проблема

Иногда моя оболочка GNOME (или даже больше?) перестаёт отвечать, и единственный вариант — это жёсткая перезагрузка с помощью кнопки на корпусе компьютера. Ни какие сочетания клавиш, ни мышь не работают. Часы останавливаются, что на самом деле помогает заметить сбой (если я был афк, когда это произошло — что случается довольно часто) и зафиксировать время сбоя.

Логи перестают записываться в момент полной блокировки. Например, сегодня часы остановились на 11:14. Последние логи перед перезагрузкой были записаны в 11:10:

11:10:06 systemd: systemd-timedated.service: Успешно деактивировано.
11:09:36 dbus-daemon: [system] Успешно активирована служба 'org.freedesktop.timedate1'
11:09:36 systemd: Запуск службы времени и даты...
11:09:36 dbus-daemon: [system] Активация через systemd: имя службы="org.freedesktop.timedate1" юнит="dbus-org.freedesktop.timedate1.service" запросил ':1.27' (uid=0 pid=803 comm="/usr/lib/snapd/snapd " label="unconfined")
11:09:35 systemd: Завершена загрузка данных для пакетов, которые не удалось установить.
11:06:49 snapd: storehelpers.go:923: нельзя обновить: обновления для snap недоступны: "bare", "core", "core18", "core20", "core22", "cups", "firefox", "gnome-3-28-1804", "gnome-3-34-1804", "gnome-42-2204", "gtk-common-themes", "icon-theme-papirus", "node", "shotcut", "snap-store", "snapd", "snapd-desktop-integration", "terminal-parrot"
11:06:48 packagekitd: транзакция refresh-cache /7952_eaaeecbe от uid 1000 завершилась успешно через 2974мс
11:06:48 systemd: Завершено обновление локальных кэшей ESM.

Несколько минут назад я перезагрузил систему после обновления. Происшествия этих зависаний могут коррелировать с событиями, связанными с обновлениями, такими как система начинает их поиски, загрузку, или в данный момент это происходит сразу после установки. Но никогда не было случая, чтобы какое-то обновление сделало мою систему неработоспособной: я перезагружаю после этого зависания, и всё возвращается к норме.

Логи ядра были записаны за 10 минут до зависания:

$ sudo less /var/log/kern.log вывод 11 авг 11:04:46 desktop kernel: [   17.987679] kauditd_printk_skb: 84 обратных вызовов подавлено
11 авг 11:04:46 desktop kernel: [   17.987683] аудит: тип=1326 аудит(1723367086.220:129): auid=1000 uid=1000 gid=1000 ses=2 s>
11 авг 11:04:46 desktop kernel: [   18.013893] аудит: тип=1107 аудит(1723367086.248:130): pid=781 uid=102 auid=4294967295 ses>
11 авг 11:04:46 desktop kernel: [   18.013893]  exe="/usr/bin/dbus-daemon" sauid=102 hostname=? addr=? terminal=?'
11 авг 11:04:46 desktop kernel: [   18.026178] аудит: тип=1107 аудит(1723367086.260:131): pid=781 uid=102 auid=4294967295 ses>
11 авг 11:04:46 desktop kernel: [   18.026178]  exe="/usr/bin/dbus-daemon" sauid=102 hostname=? addr=? terminal=?'
11 авг 11:04:46 desktop kernel: [   18.031376] аудит: тип=1107 аудит(1723367086.264:132): pid=781 uid=102 auid=4294967295 ses>
11 авг 11:04:46 desktop kernel: [   18.031376]  exe="/usr/bin/dbus-daemon" sauid=102 hostname=? addr=? terminal=?'
11 авг 11:04:46 desktop kernel: [   18.032441] аудит: тип=1107 аудит(1723367086.268:133): pid=781 uid=102 auid=4294967295 ses>
11 авг 11:04:46 desktop kernel: [   18.032441]  exe="/usr/bin/dbus-daemon" sauid=102 hostname=? addr=? terminal=?'
11 авг 11:04:46 desktop kernel: [   18.676142] аудит: тип=1400 аудит(1723367086.912:134): apparmor="DENIED" операция="open" >
11 авг 11:27:14 desktop kernel: [    0.000000] Версия Linux 6.5.0-10043 (root@runner-47n-egjk-project-32919825-concurr>
11 авг 11:27:14 desktop kernel: [    0.000000] Командная строка: BOOT_IMAGE=/boot/vmlinuz-6.5.0-10043 root=UUID=ebca1ca0-49>

Некоторые ютуберы упомянули, что такие зависания — это проблема для GNOME 42 (в моей системе) и 46-47 (в новой Ubuntu), также и на других дистрибутивах (например, Fedora). Так что я знаю, это не только моя установка.

К счастью, зависания не очень частые, и я могу с ними жить, но, конечно, когда-нибудь я могу потерять какую-то несохранённую работу…

Мой набор расширений:

'[email protected]', 
'[email protected]', 
'[email protected]', 
'[email protected]',
'[email protected]', 
'rounded-window-corners@yilozt', 
'shell-configurator@adeswanta', 
'Rounded_Corners@lennart-k', 
'[email protected]',
'[email protected]', 
'blur-my-shell@aunetx', 
'[email protected]', 
'tiling-assistant@leleat-on-github', 
'logomenu@aryan_k', 
'[email protected]', 
'[email protected]', 
'[email protected]'

Каков ваш опыт с этим? Есть какие-либо решения или особенно проблемные службы или расширения?

У меня была такая же проблема с моим Lenovo Thinkpad X1C Gen 9, очень раздражающая. Думаю, проблема началась после обновления, вероятно, в середине августа 2024 года. Не знаю, что было источником проблемы, но я обновил ядро до 6.10, и с тех пор не испытывал никаких зависаний.

Чтобы обновить ядро, я использовал репозиторий Zabbly — смотрите инструкции в readme репозитория. Репозиторий должен быть надёжным (владелец до недавнего времени работал в Canonical, смотрите здесь), а процедура проста, но мне пришлось отключить Secure Boot, что не очень хорошо. Как только у меня появится возможность, я просто обновлюсь до 24.04 с официальным ядром, которое, надеюсь, не будет затронуто.

Смотрите также связанный вопрос здесь: Частые полужёсткие зависания системы 22.04 LTS

Ответ или решение

Системы, зависающие без явных ошибок, могут быть источником высокого уровня раздражения для пользователей, особенно если они приводят к потере несохраненной работы. Ваша проблема с Ubuntu 22.04 LTS может иметь несколько причин, затрагивающих как программное обеспечение, так и аппаратное обеспечение. Позвольте мне предложить некоторые шаги по диагностике и устранению неполадок.

1. Обновление ядра

Проблемы с зависанием системы часто могут быть решены обновлением ядра, поскольку новые версии могут содержать исправления, которые устраняют известные ошибки. Вы упомянули о применении ядра 6.10, которое помогло вам. Это действительно поможет, так как разработчики быстро реагируют на системные проблемы. Рекомендуется использовать надежные репозитории для обновления ядра. Например, вы можете использовать метод, описанный в репозитории Zabbly. Обязательно имейте в виду, что для этого может потребоваться отключение Secure Boot.

2. Диагностика аппаратного обеспечения

Не исключено, что проблема может быть связана с аппаратным обеспечением. Например, сбои в работе оперативной памяти или проблемы с перегревом процессора могут вызывать зависания. Рекомендуется проверить:

  • Оперативная память: Используйте memtest86+ для проверки на наличие ошибок.
  • Температура: Убедитесь, что охлаждение системы работает правильно, и температура компонентов находится в допустимых пределах.

3. Системные журналы

Вы упомянули, что журналы останавливаются до зависания. Это может быть признаком критической проблемы на уровне системы. Поиск сообщений о критических ошибках, которые могут предшествовать зависанию, поможет в выявлении возможных причин. Используйте команды:

sudo journalctl -b -1 | less

Это позволит вам просмотреть журналы из предыдущего перезагрузки и найти ошибки, которые могли произойти непосредственно перед зависанием.

4. Отключение расширений GNOME

Расширения GNOME могут вызывать конфликты, поэтому отключение всех расширений может помочь определить, является ли какое-либо из них причиной проблемы. Используйте команду для отключения всех расширений:

gnome-extensions disable --all

Постепенно включайте их по одному, чтобы выявить, какое расширение вызывает зависание.

5. Устранение программных сбоев

Некоторые приложения могут также быть причиной зависания системы. Попробуйте завершить все ненужные программы, запущенные в фоновом режиме. Определить, какие приложения работают, можно с помощью System Monitor или командной строки. Если у вас установлены сторонние приложения, проверьте, нет ли обновлений на них или попробуйте удалить их, чтобы посмотреть, решит ли это проблему с зависаниями.

6. Обратитесь к сообществу

Если вы продолжаете сталкиваться с этой проблемой, поиск помощи среди пользователей Ubuntu в форумах или на страницах с вопросами и ответами может помочь. Кроме того, мониторинг репозиториев ошибок (bug trackers) также может дать информацию о похожих проблемах и предложенных решениях.

Используйте все вышеописанные шаги для диагностики и устранения причин зависания вашей системы. Надеюсь, эти советы окажутся полезными, и скоро вы сможете работать без лишних раздражений. Если у вас остались вопросы или потребуется дальнейшая помощь, не стесняйтесь обращаться.

Оцените материал
Добавить комментарий

Капча загружается...