Керування живленням Призупинення та сплячий режим - ArchWiki
В даний час доступні три методи призупинення: призупинити до оперативної пам'яті (зазвичай називається просто призупинити), призупинити на диск (зазвичай відомий як зимувати), і гібридна підвіска (іноді влучно називається призупинити до обох):

- Призупинити до оперативної пам'яті Метод відключає живлення більшості частин машини, окрім оперативної пам'яті, необхідної для відновлення стану машини. Через велику економію електроенергії доцільно для ноутбуків автоматично переходити в цей режим, коли комп’ютер працює від батарейок і кришка закрита (або користувач деякий час неактивний).
- Призупинити на диск метод зберігає стан машини в місцях обміну і повністю вимикає машину. Коли машину ввімкнено, стан відновлюється. До цього часу споживання енергії нульове.
- Призупинити обидва метод зберігає стан машини в місцях обміну, але не вимикає машину. Натомість він викликає звичайне призупинення до оперативної пам'яті. Отже, якщо акумулятор не розряджений, система може відновити роботу з оперативної пам'яті. Якщо акумулятор розрядиться, систему можна відновити з диска, що набагато повільніше, ніж відновлення з оперативної пам'яті, але стан машини не втрачено.
Існує безліч інтерфейсів низького рівня (бэкэнди), що забезпечують базову функціональність, а деякі інтерфейси високого рівня, що забезпечують налаштування для обробки проблемних драйверів обладнання/модулів ядра (наприклад, повторна ініціалізація відеокарти).
Зміст
- 1 Інтерфейси низького рівня
- 1.1 ядро (swsusp)
- 1,2 uswsusp
- 2 Інтерфейси високого рівня
- 2.1 системна
- 3 Зимовий сон
- 3.1 Про розмір підкачки/розміру файлу
- 3.2 Необхідні параметри ядра
- 3.2.1 Гібернація у файл підкачки
- 3.2.2 Сплячий режим у файл підкачки на Btrfs
- 3.2.3 Сплячий режим у тонко наданий обсяг LVM
- 3.3 Налаштування initramfs
- 4 Усунення несправностей
- 4.1 ACPI_OS_NAME
- 4.2 Призупинення/сплячий режим не працює або працює не постійно
- 4.3 Пробудження через локальну мережу
- 4.4 Миттєві пробудження від призупинення
- 4.5 Система не вимикається під час сплячки
Інтерфейси низького рівня
Хоча ці інтерфейси можна використовувати безпосередньо, доцільно використовувати деякі інтерфейси високого рівня для призупинення/сплячого режиму. Безпосереднє використання інтерфейсів низького рівня значно швидше, ніж використання будь-якого інтерфейсу високого рівня, оскільки запуск усіх гачків перед і після зупинки вимагає часу, але хуки можуть правильно встановити апаратний годинник, відновити бездротові мережі тощо.
ядро (swsusp)
Найпростіший підхід - це безпосереднє інформування коду призупинення програмного забезпечення в ядрі (swsusp) для переходу в призупинений стан; точний спосіб і стан залежать від рівня апаратної підтримки. На сучасних ядрах запис відповідних рядків у/sys/power/state є основним механізмом, що викликає це призупинення.
uswsusp
Uswsusp ('Призупинення користувацького простору програмного забезпечення') - це обгортка навколо механізму призупинення до оперативної пам'яті ядра, який виконує деякі маніпуляції з графічним адаптером з простору користувача перед тим, як призупинити і після відновлення.
Дивіться основну статтю Uswsusp.
Інтерфейси високого рівня
Кінцева мета цих пакетів - забезпечити двійкові файли/сценарії, які можна викликати для виконання призупинення/сплячого режиму. Насправді підключення їх до кнопок живлення, клацань меню або подій кришки ноутбука зазвичай залишається за іншими інструментами. Щоб автоматично призупиняти/переходити в сплячий режим для певних подій живлення, таких як закриття кришки ноутбука або відсоток вичерпання заряду акумулятора, можливо, ви захочете вивчити роботу Acpid.
системний
systemd надає власні команди для призупинення, сплячого режиму та гібридного призупинення; докладніше див. у розділі Керування живленням # Управління живленням із systemd. Це інтерфейс за замовчуванням, який використовується в Arch Linux.
Додаткову інформацію про налаштування гачків призупинення/сплячого режиму див. У розділі Керування живленням. Також див. Systemctl (1), systemd-sleep (8) та systemd.special (7) .
Зимова сплячка
Для того, щоб використовувати сплячий режим, вам потрібно створити розділ підкачки або файл. Вам потрібно буде вказати ядро на ваш підкачка за допомогою параметра resume = kernel, який налаштовано за допомогою завантажувача. Вам також потрібно буде налаштувати initramfs. Це повідомляє ядру, щоб спробувати відновити роботу із зазначеного обміну в ранній просторі користувача. Ці три кроки докладно описані нижче.
Про розмір розділу/файлу підкачки
Навіть якщо ваш розділ підкачки менше оперативної пам'яті, ви все одно маєте великі шанси на успішний сплячий режим. Відповідно до документації до ядра:
/ sys/power/image_size керує розміром зображення, створеного механізмом призупинення до диска. Це може бути записаний рядок, що представляє ціле невід’ємне число, яке буде використовуватися як верхня межа розміру зображення в байтах. Механізм призупинення до диску зробить все можливе, щоб розмір зображення не перевищував цієї кількості. Однак, якщо це виявиться неможливим, воно все одно спробує призупинити використання найменшого можливого зображення. Зокрема, якщо у цьому файлі записано "0", зображення призупинення буде якомога меншим. Читання з цього файлу відображатиме поточну межу розміру зображення, яка за замовчуванням встановлена на 2/5 доступної оперативної пам'яті.
Ви можете або зменшити значення/sys/power/image_size, щоб зробити призупинене зображення якомога меншим (для невеликих розділів підкачки), або збільшити його, щоб можливо прискорити процес сплячого режиму. Для систем з великим обсягом оперативної пам'яті менші значення можуть різко збільшити швидкість відновлення сплячого режиму. Див. Systemd # systemd-tmpfiles - тимчасові файли, щоб зробити ці зміни постійними.