systemd-sleep: Не удалось перевести систему в спящий режим. Система снова возобновила работу: Устройство или ресурс заняты.

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

Вдруг функция сна системы перестала работать, вот весь /var/log/syslog https://gist.github.com/umpirsky/f3e1a8d32217ad4b8fb3186124866d69

Я отключил все записи в /proc/acpi/wakeup, это не помогло.

Ubuntu 22.04.4 LTS

Есть идеи, почему это начало происходить? Спасибо.

Причиной сбоя сна системы может быть недавнее обновление ядра.

Чтобы проверить:

  1. Перезагрузите систему.
  2. Если вы не видите меню GRUB, удерживайте Shift во время загрузки.
  3. В меню GRUB выберите Advanced Options for Ubuntu.
  4. Выберите второе общее ядро, то есть предыдущую версию ядра, которая была установлена.
  5. Позвольте ему запуститься и проверьте режим сна. Если работает, попробуйте ответ от @rishuverma на вопрос Установить “старое” ядро как запись grub по умолчанию, чтобы GRUB загружал более старое ядро автоматически (я делаю остальное конкретным для linux-modules-5.15.0-117-generic, так как вы подтвердили, что это старое ядро работало для вас).

Чтобы рабочее старое ядро не было удалено после обновления:

  1. Установите менеджер пакетов Synaptic:

    sudo apt install synaptic
    
  2. Запустите Synaptic.

  3. Перейдите в Статус, Установленные (вручную) и убедитесь, что вы не видите linux-modules-5.15.0-117-generic.

  4. Перейдите в Статус, Установленные и найдите linux-modules-5.15.0-117-generic.

  5. Выделите пакет, нажмите меню Пакет в верхней части страницы и снимите галочку с Установлено автоматически:

    Synaptic

  6. Проверьте пакет в Статус, Установленные (вручную).

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

Копирую сюда:

Я включил гибернацию несколько месяцев назад в своей системе Ubuntu, теперь 20.04, но сейчас, как и в прошлом, у меня возникли некоторые проблемы. Поэтому в этот последний раз я нашел это в “dmsg” во время процедуры гибернации:

Ошибка замораживания задач после 20.005 секунд (0 задач отказываются замораживаться, wq_busy=1)...

Я решил, увеличив тайм-аут замораживания с 20 секунд до 30 секунд:

echo 30000 > /sys/power/pm_freeze_timeout

И сделал это постоянным с помощью sysfsutils и после записи

power/pm_freeze_timeout = 30000

в файл в директории /etc/sysfs.d.

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

К сожалению, проблема с переходом системы в спящий режим может иметь различные причины, наиболее распространенной из которых являются изменения, связанные с обновлением ядра. Ваша проблема, описанная как "systemd-sleep: Failed to put system to sleep. System resumed again: Device or resource busy", предполагает, что существующая служба или устройство активно и не может быть приостановлено.

1. Проверка и переустановка ядра

Следует проверить, не стала ли причиной проблемы последняя версия ядра. Для этого проделайте следующие шаги:

  • Перезагрузите систему.
  • Пока загружается, удерживайте клавишу Shift, чтобы открыть меню GRUB.
  • В меню GRUB выберите Advanced Options for Ubuntu.
  • Выберите второй вариант ядра, который ранее работал (например, linux-modules-5.15.0-117-generic). Это позволит вам понять, связано ли поведение с обновленной версией ядра.
  • После загрузки системы проверьте, работает ли режим сна. Если он работает, то можно будет рассмотреть долгосрочные решения.

2. Настройка GRUB для загрузки предыдущего ядра

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

  • Следуйте инструкциям в ответе пользователя @rishuverma, чтобы изменить настройки GRUB.

3. Защита от удаления рабочей версии ядра

Чтобы предотвратить автоматическое удаление нужного ядра после обновления, выполните следующие шаги:

  • Установите менеджер пакетов Synaptic:

    sudo apt install synaptic
  • Откройте Synaptic и найдите пакет linux-modules-5.15.0-117-generic.

  • Убедитесь, что в его свойствах снята галочка с Automatically installed, чтобы сделать пакет устойчивым к удалениям.

4. Увеличение времени ожидания замораживания

Если проблема с переходом в спящий режим по-прежнему сохраняется, и вы обнаружили сообщения о превышении времени ожидания замораживания при попытке перейти в режим гибернации, вы можете попробовать увеличить таймаут замораживания:

  • Запустите команду:
    echo 30000 > /sys/power/pm_freeze_timeout
  • Чтобы сделать это изменение постоянным, установите пакет sysfsutils и добавьте следующую строку в файл в директории /etc/sysfs.d:
    power/pm_freeze_timeout = 30000

5. Проверка устройств

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

sudo lsof /dev/sdaX

где X — номер раздела. Замена sdaX на ваш корневой раздел может показать вам загруженные процессы.

Заключение

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

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

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