Спящий режим Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:спящий_режим [2015/08/29 21:31]
[Настройка гибернации в swap-файл]
wiki:спящий_режим [2019/06/28 00:20] (текущий)
[Настройка]
Строка 1: Строка 1:
 ====== Спящий режим ====== ====== Спящий режим ======
-===== Настройка ​для Ubuntu 13.10 и 14.04 ===== +<note important>​В 2017 году часть информации из данной статьи устарела. Скорее всего, наиболее простым и стабильным в работе ​является [[TuxOnIce]],​ прочие методы нужно проверить и скорректировать статью</​note>​ 
-Спящий режим ([[wpru>​Гибернация_(операционные_системы)|hibernate]]) -- энергосберегающий режим операционной системы компьютера,​ позволяющий сохранять содержимое оперативной памяти на энергонезависимое устройство хранения данных (жесткий диск) перед выключением питания. +===== Что это и как это работает? ​===== 
-Для поддержки работы данного режима у вас должен присутствовать [[swap]]-раздел или (рекомендуется) swap-файл. +Спящий режим ([[wpru>​Гибернация_(операционные_системы)|hibernate]]) -- энергосберегающий режим операционной системы компьютера,​ позволяющий сохранять содержимое оперативной памяти на энергонезависимое устройство хранения данных (жесткий диск) перед выключением питания.\\ 
-Рекомендации по созданию swap-раздела смотри [[swap|здесь]]. +При засыпании все данные процессов вытесняются в swap файл, а также в swap сохраняются некоторые настройки устройств,​ и после этого система переходит в режим с полным отключением питания.\\ 
-Более удобным в использовании (но сложным при создании) ​является вариант со swap-файлом (он не занимает отдельный раздел,​ легко удаляется,​ легко меняет свой размер).+При включении компьютера система начинает загружаться как обычно,​ но если в процессе загрузки ядро обнаруживает образ памяти сохраненный в swap, то загрузка в нормальном режиме прекращается и начинается восстановление состояния оперативной памяти из swap-а. Кроме этого восстанавливаются настройки устройств (видеоадаптер,​ сетевые карты, и пр.).\\ 
 +И вот именно с восстановлением работоспособности устройств компьютера и связаны все основные проблемы с режимом сна. Не всегда драйвера устройств позволяют осуществить необходимые действия по сохранению и восстановление настроек после сна. И это может приводить к зависанию компьютера после попытки проснуться.\\ ​   
 +Еще одна неприятность этого режима проявляется при больших объемах оперативной запоминающей памяти компьютера. Речь идет об объемах оперативной памяти от 8Gb и выше (что в последние годы встречается все чаще). Если памяти много, то и много придется сохранять в swap при засыпании и соответственно вычитывать из swap при просыпании. Из за этого засыпание и просыпания могут занять довольно значительное время. Может оказаться,​ что вам проще и гораздо быстрее все-таки сохранить свою работу и выключить нормально компьютер,​ а потом, после обычной загрузки,​ открыть свои рабочие файлы заново.\\ 
 +Именно из-за озвученных выше особенностей режима сна в последних версиях Ubuntu по умолчанию этот режим энергосбережения отключен. ​  
 + 
 +===== Настройка===== 
 +Для поддержки работы данного режима у вас должен присутствовать [[swap|swap-раздел]] или (рекомендуется) swap-файл.\\ 
 +Рекомендации по созданию swap-раздела ​можно просмотреть ​[[swap|здесь]]. 
 +Вариант со swap-файлом является более удобным в использовании (но чуть более ​сложным при создании) т.к. он не занимает отдельный раздел,​ легко удаляется, ​его размер можно ​легко ​изменить (без необходимости ​менять разметку диска и двигать/​изменять размеры других разделов).\\ 
 +Но учтите,​ не на любой файловой системе можно создать (и использовать) swap-файл:​ из за некоторых особенностей организации ​размещения файлов на диске swap-файл нельзя использовать на файловой системе [[btrfs|btrfs]] (без специальных ухищрений).  
  
 ====Создание swap-файла==== ====Создание swap-файла====
Строка 16: Строка 25:
 sudo swapon /​swapfile</​code>​ sudo swapon /​swapfile</​code>​
   -- Допишите строку в fstab, чтобы созданный swap подключался автоматически при запуске системы.   -- Допишите строку в fstab, чтобы созданный swap подключался автоматически при запуске системы.
-  .. <code bash>​echo "/​swapfile swap swap defaults 0 0"| sudo tee -a /​etc/​fstab</​code>​+  .. <code bash>​echo "/​swapfile swap swap defaults,​pri=<​Приоритет (от 0 до 32767)> ​0 0"| sudo tee -a /​etc/​fstab</​code>​
  
 ====Настройка гибернации в swap-файл==== ====Настройка гибернации в swap-файл====
Строка 66: Строка 75:
   .. и измените в них параметр //​ResultActive//​ с **no** на **yes**.   .. и измените в них параметр //​ResultActive//​ с **no** на **yes**.
   -- Перезапустите X-сервер.   -- Перезапустите X-сервер.
 +
 +Если гибернация работает по вызову ''​pm-hibernate'',​ но не работает по кнопке "​Спящий режим"​ в меню выключения,​ то, возможно,​ проблема в том, что эта кнопка вызывает команду ''​systemctl hibernate'',​ которая по умолчанию не поддерживает ''​uswsusp''​ (подробно эта проблема в LXDE описана [[http://​www.linux.org.ru/​forum/​general/​12274792 | здесь]]).
 +  -- Для решения этой проблемы внесите правки в конфигурационный файл:
 +  .. <code bash>​sudo cp /​lib/​systemd/​system/​systemd-hibernate.service /​etc/​systemd/​system/​
 +sudo nano /​etc/​systemd/​system/​systemd-hibernate.service</​code>​
 +  .. Замените в нём параметр //​ExecStart//​ с <code ini>​ExecStart=/​lib/​systemd/​systemd-sleep hibernate</​code>​
 +  .. на <code ini>​ExecStart=/​bin/​sh -c '​s2disk && run-parts --regex .\* -a post /​lib/​systemd/​system-sleep'</​code>​
 ===== Ссылки ===== ===== Ссылки =====
   * [[http://​ubuntuforums.org/​showthread.php?​t=1042946|Исходная статья,​ подвергшаяся обработке]] (англ.)   * [[http://​ubuntuforums.org/​showthread.php?​t=1042946|Исходная статья,​ подвергшаяся обработке]] (англ.)