Вопрос или проблема
В течение последних нескольких дней, когда я пытаюсь перевести свою систему в спящий режим, это срабатывает один раз, но когда я пытаюсь сделать это во второй раз, моя система зависает. Если быть точным: когда начинается режим гибернации, мой экран блокировки кратко отображается, затем мой монитор выключается. Через примерно 30 секунд он снова включается, снова показывая экран блокировки. Обычно, или когда я ставлю систему в спящий режим в первый раз, система отключается после этого, и процесс гибернации завершается успешно. Во второй раз система зависает, единственный способ выйти из этого — вручную выключить систему. Я посмотрел журнал с помощью journalctl, и вывод, который я получаю при первом переходе в режим гибернации, следующий:
Окт 07 16:29:13 p200300eb272397192edf2565a19aec26.dip0.t-ipconnect.de systemd[1]: Начинаю гибернацию системы...
Окт 07 16:29:13 p200300eb272397192edf2565a19aec26.dip0.t-ipconnect.de systemd-sleep[5029]: Пользовательские сеансы остаются незамороженными (добавьте $SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=1 для переопределения),
Окт 07 16:29:13 p200300eb272397192edf2565a19aec26.dip0.t-ipconnect.de systemd-sleep[5029]: полагаюсь на ядро, чтобы выполнить замораживание.
Окт 07 16:29:13 p200300eb272397192edf2565a19aec26.dip0.t-ipconnect.de systemd-sleep[5029]: Это временное решение проблемы https://github.com/systemd/systemd/issues/33083.
Окт 07 16:29:13 p200300eb272397192edf2565a19aec26.dip0.t-ipconnect.de systemd-sleep[5031]: ИНФО: выполняется /usr/lib/systemd/system-sleep/grub2.sleep для гибернации
Окт 07 16:29:13 p200300eb272397192edf2565a19aec26.dip0.t-ipconnect.de systemd-sleep[5031]: ИНФО: Запуск prepare-grub..
Окт 07 16:29:14 p200300eb272397192edf2565a19aec26.dip0.t-ipconnect.de systemd-sleep[5031]: текущее ядро - это пункт меню grub openSUSE Tumbleweed (vmlinuz-6.11.0-1-default)
Окт 07 16:29:14 p200300eb272397192edf2565a19aec26.dip0.t-ipconnect.de systemd-sleep[5031]: подготовка загрузчика: выбор пункта openSUSE Tumbleweed, ядро /boot/6.11.0-1-default
Окт 07 16:29:14 p200300eb272397192edf2565a19aec26.dip0.t-ipconnect.de systemd-sleep[5031]: выполнение /usr/sbin/grub2-once "openSUSE Tumbleweed"
Окт 07 16:29:14 p200300eb272397192edf2565a19aec26.dip0.t-ipconnect.de systemd-sleep[5031]: время, необходимое для синхронизации: 0.0 секунд, время, необходимое для grub: 0.1 секунд.
Окт 07 16:29:14 p200300eb272397192edf2565a19aec26.dip0.t-ipconnect.de systemd-sleep[5031]: ИНФО: Готово.
Окт 07 16:29:14 p200300eb272397192edf2565a19aec26.dip0.t-ipconnect.de systemd-sleep[5029]: Выполняю операцию сна 'гибернация'...
Окт 07 16:29:14 p200300eb272397192edf2565a19aec26.dip0.t-ipconnect.de kernel: PM: гибернация: вход в режим гибернации
Окт 07 16:29:14 p200300eb272397192edf2565a19aec26.dip0.t-ipconnect.de PackageKit[3333]: транзакция get-updates /2_bebcadea от uid 1000 завершена успешно после 1381ms
Окт 07 16:31:09 p200300eb272397192edf2565a19aec26.dip0.t-ipconnect.de kernel: Синхронизация файловых систем: 0.005 секунд
Как видите, последняя запись на две секунды позади предпоследней. Поэтому я предполагаю, что последняя запись – это первый лог загрузки успешно гибернирующей системы. Итак, две последние записи перед отключением:
Окт 07 16:29:14 p200300eb272397192edf2565a19aec26.dip0.t-ipconnect.de kernel: PM: гибернация: вход в режим гибернации
Окт 07 16:29:14 p200300eb272397192edf2565a19aec26.dip0.t-ipconnect.de PackageKit[3333]: транзакция get-updates /2_bebcadea от uid 1000 завершена успешно после 1381ms
Когда я попытался перевести систему в спящий режим во второй раз, вывод journalctl следующий:
Окт 07 16:31:29 p200300eb27239719b3907f64d0c2f2eb.dip0.t-ipconnect.de systemd[1]: Начинаю гибернацию системы...
Окт 07 16:31:29 p200300eb27239719b3907f64d0c2f2eb.dip0.t-ipconnect.de systemd-sleep[6624]: Пользовательские сеансы остаются незамороженными (добавьте $SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=1 для переопределения),
Окт 07 16:31:29 p200300eb27239719b3907f64d0c2f2eb.dip0.t-ipconnect.de systemd-sleep[6624]: полагаюсь на ядро, чтобы выполнить замораживание.
Окт 07 16:31:29 p200300eb27239719b3907f64d0c2f2eb.dip0.t-ipconnect.de systemd-sleep[6624]: Это временное решение проблемы https://github.com/systemd/systemd/issues/33083.
Окт 07 16:31:29 p200300eb27239719b3907f64d0c2f2eb.dip0.t-ipconnect.de systemd-sleep[6627]: ИНФО: выполняется /usr/lib/systemd/system-sleep/grub2.sleep для гибернации
Окт 07 16:31:29 p200300eb27239719b3907f64d0c2f2eb.dip0.t-ipconnect.de systemd-sleep[6627]: ИНФО: Запуск prepare-grub..
Окт 07 16:31:29 p200300eb27239719b3907f64d0c2f2eb.dip0.t-ipconnect.de systemd-sleep[6627]: текущее ядро - это пункт меню grub openSUSE Tumbleweed (vmlinuz-6.11.0-1-default)
Окт 07 16:31:29 p200300eb27239719b3907f64d0c2f2eb.dip0.t-ipconnect.de systemd-sleep[6627]: подготовка загрузчика: выбор пункта openSUSE Tumbleweed, ядро /boot/6.11.0-1-default
Окт 07 16:31:29 p200300eb27239719b3907f64d0c2f2eb.dip0.t-ipconnect.de systemd-sleep[6627]: выполнение /usr/sbin/grub2-once "openSUSE Tumbleweed"
Окт 07 16:31:30 p200300eb27239719b3907f64d0c2f2eb.dip0.t-ipconnect.de systemd-sleep[6627]: время, необходимое для синхронизации: 0.0 секунд, время, необходимое для grub: 0.1 секунд.
Окт 07 16:31:30 p200300eb27239719b3907f64d0c2f2eb.dip0.t-ipconnect.de systemd-sleep[6627]: ИНФО: Готово.
Окт 07 16:31:30 p200300eb27239719b3907f64d0c2f2eb.dip0.t-ipconnect.de systemd-sleep[6624]: Выполняю операцию сна 'гибернация'...
Окт 07 16:31:30 p200300eb27239719b3907f64d0c2f2eb.dip0.t-ipconnect.de kernel: PM: гибернация: вход в режим гибернации
Теперь последняя запись:
Окт 07 16:31:30 p200300eb27239719b3907f64d0c2f2eb.dip0.t-ipconnect.de kernel: PM: гибернация: вход в режим гибернации
Таким образом, последней записи перед первой гибернацией нет. К сожалению, я не имею понятия, что означают эти записи.
Может кто-нибудь помочь? Было бы очень признательно.
Характеристики моей системы:
Операционная система: openSUSE Tumbleweed 20241006
Версия KDE Plasma: 6.1.5
Версия фреймов KDE: 6.6.0
Версия Qt: 6.7.3
Версия ядра: 6.11.0-1-default (64-бит)
Графическая платформа: Wayland
Процессоры: 16 × AMD Ryzen 7 7800X3D 8-Core Processor
Оперативная память: 30,5 GiB
Графический процессор: AMD Radeon RX 7900 XT
Производитель: Micro-Star International Co., Ltd.
Название продукта: MS-7E24
Версия системы: 1.0
Ответ или решение
Проблема, которую вы описываете, связана с ненадежной работой функции гибернации в openSUSE Tumbleweed, когда она работает только один раз, а при повторной попытке вызывает зависание системы. Давайте рассмотрим возможные решения.
1. Проверка и настройка параметров hibernation
Как видно из ваших логов, система делает предположение, что «сессии пользователя остаются незамороженными». Чтобы изменить это поведение, добавьте следующую строку в файл конфигурации для системы:
echo "export SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=1" | sudo tee /etc/profile.d/systemd_sleep.sh
Это должно помочь системе заморозить пользовательские сессии перед гибернацией.
2. Проверка конфигурации swap
Убедитесь, что у вас правильно настроено пространство подкачки, так как оно используется для хранения состояния системы при гибернации. Убедитесь, что размер swap не меньше объема оперативной памяти. Вы можете проверить текущее состояние swap с помощью команды:
swapon --show
Если необходимо, увеличьте размер раздела swap или создайте новый файл подкачки:
sudo fallocate -l 32G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
3. Обновление системы и драйверов
Поскольку вы используете Tumbleweed, важно, чтобы все пакеты и ядро были обновлены до последних версий. Запустите следующие команды:
sudo zypper refresh
sudo zypper update
Также убедитесь, что установлены последние версии драйверов для вашей видеокарты AMD Radeon. Вы можете установить их из репозиториев openSUSE или с сайта AMD.
4. Проверка совместимости Wayland и KDE Plasma
Убедитесь, что ваша версия KDE Plasma и графического стека совместима с функцией гибернации. Иногда проблемы могут возникать из-за проблем с совместимостью между Wayland и функцией управления питанием.
Попробуйте временно сменить графическую сессию на X11:
- Выйдите из текущей сессии.
- На экране входа выберите версию X11.
Это поможет проверить, вызвана ли проблема именно Wayland.
5. Логирование и диагностика
Чтобы понять, почему система зависает при повторной гибернации, вы можете добавить в параметры загрузки ядра:
loglevel=7
Это позволит собирать более подробные логи, которые могут быть более информативными при отладке проблемы. Параметры можно добавить в файл конфигурации GRUB:
- Откройте файл конфигурации GRUB:
sudo nano /etc/default/grub
- Найдите строку
GRUB_CMDLINE_LINUX_DEFAULT
и добавьтеloglevel=7
:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash loglevel=7"
- После этого обновите конфигурацию GRUB:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
6. Обсуждение с сообществом
Если ни одно из предложенных решений не работало, рекомендуется обратиться на форумы сообщества openSUSE или на специализированные платформа (такие как GitHub), где можно получить помощь от разработчиков и опытных пользователей, которые могут быть знакомы с проблемой.
Заключение
Попробуйте описанные решения шаг за шагом. Если проблема не будет устранена, возможно, будет полезно предоставить дополнительную информацию или логи на форумах, чтобы диагностировать ваши проблемы более глубоко. Удачи!