Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:спящий_режим [2014/06/15 19:38] |
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-файл==== | ||
Строка 42: | Строка 51: | ||
Если у вас все заработало - радуйтесь, если нет - придется конфигурировать ''uswsusp'': | Если у вас все заработало - радуйтесь, если нет - придется конфигурировать ''uswsusp'': | ||
<code bash>sudo dpkg-reconfigure -pmedium uswsusp</code> | <code bash>sudo dpkg-reconfigure -pmedium uswsusp</code> | ||
- | На вопрос "Продолжить без работоспособного пространства подкачки?" в случае использования swap-файла отвечаем "Да", пространство подкачки в диалоге указываем по UUID (**/dev/disk/by-uuid/<your UUID>**), раздел не шифруем. После этого автоматически будет сформирован uswsusp.conf с необходимыми параметрами. | + | На вопрос "Продолжить без работоспособного пространства подкачки?" в случае использования swap-файла отвечаем "Да", пространство подкачки в диалоге указываем по UUID (**/dev/disk/by-uuid/<your UUID>**), раздел __не шифруем__ (иначе может случиться подобное описанному [[http://www.linux.org.ru/forum/general/10586420 | здесь]]). После этого автоматически будет сформирован uswsusp.conf с необходимыми параметрами. |
Пробуем опять: | Пробуем опять: | ||
<code bash>sudo s2disk</code> | <code bash>sudo s2disk</code> | ||
Строка 49: | Строка 58: | ||
Снова проверьте гибернацию (возможно, перед этим потребуется перезагрузка): | Снова проверьте гибернацию (возможно, перед этим потребуется перезагрузка): | ||
<code bash>sudo pm-hibernate</code> | <code bash>sudo pm-hibernate</code> | ||
- | Если не заработало с ''uswsusp'', можете опробовать [[TuxOnIce]]. | + | Если не заработало с ''uswsusp'', используйте [[TuxOnIce]] - он обычно работает без проблем. |
Если гибернация заработала, то остается только активировать кнопку "Спящий режим" в меню выключения. Для этого: | Если гибернация заработала, то остается только активировать кнопку "Спящий режим" в меню выключения. Для этого: | ||
Строка 67: | Строка 76: | ||
-- Перезапустите 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|Исходная статья, подвергшаяся обработке]] (англ.) |