Сплячий режим в linux

Сплячий режим дозволяє зберегти вміст оперативної пам'яті комп'ютера на диск і вимкнути живлення, а потім, після включення, повністю відновити первісний стан операційної системи, всі запущені програми і відкриті файли (в т.ч. і не збережені).

Збереження оперативної пам'яті відбувається в розділ підкачки, так що він повинен існувати і бути досить великим. Щоб при кожному завантаженні ядро ​​перевіряло цей розділ, не збережено чи на ньому образ системи, треба передати ядру параметр resume2 = / dev / hdXN, де hdXN - ім'я розділу підкачки (при використанні swsusp версії 1, що входить в стандартні ядра 2.6, параметр називається resume =). Тоді при виявленні способу пам'яті він буде завантажений, а якщо розділ виявиться звичайним розділом підкачки - продовжиться звичайна завантаження.

Взагалі кажучи, можна нормально завантажити систему після "усипляння" (тобто не "розбудити", а саме завантажити з нуля), для цього треба тимчасово прибрати з параметрів ядра resume2 =. При цьому розділ підкачки очищений не буде, а значить, якщо при наступному завантаженні буде виявлений параметр resume2 =, система спробує відновитися з цього розділу. Але оскільки при догляді в сплячий режим дисковий кеш не скидається, при "пробудженні" системи на дисках, на які під час її "сну" проводився запис, швидше за все буде зіпсована ФС. Так що робити так дуже небажано, і якщо з якоїсь причини довелося вантажити систему, не використовуючи образ з диска (зокрема, система запросто може не "прокинутися", тому що swsusp поки що не дуже надійний), треба заново очистити розділ підкачки командою mkswap / dev / hdXN (підставте свій розділ), після чого можна буде спокійно грузиться з включеним параметром resume2 =. При цьому щоб можна було в поточному сеансі використовувати розділ підкачки (недоступний на момент завантаження системи) за прямим призначенням, дайте після його форматування команду swapon / dev / hdXN.

На жаль, swsusp має ряд обмежень. Зокрема, він не працює в багатопроцесорних системах, не вміє працювати з SCSI і не завжди стабільно працює, якщо завантажений драйвер nvidia або fglrx (зокрема, з swsusp 1-й версії і завантаженим модулем nvidia у мене взагалі не вийшло "приспати" машину ). У будь-якому випадку, перед відходом в сплячий режим рекомендується зберегти всі незбережені файли.

Ну а власне перехід в сплячий режим виконується командою

# Echo 4> / proc / acpi / sleep

# Echo disk> / sys / power / state

або скриптом hibernate, що краще.

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

Схожі статті