LINUX.ORG.RU

Поясните за hybrid sleep

 , ,


0

2

Если я правильно понял, то hybrid sleep — это комбинация suspend и hibernate. То есть, состояние оперативной памяти должно одновременно сбрасываться и в swap, и сохраняться в RAM, и компьютер должен саспендиться. При включении же, если питание не прерывалось, то он должен входить из саспенда моментально, а, если питание прерывалось, то должен восстанавливаться из свопа.

У меня же при восстановлении он восстанавливается всегда из свопа. Это так и должно быть, или где-то ошибка в настройках?

Сам саспенд работает.

Ответ на: комментарий от t184256

Так где именно ошибка? Куда смотреть? Все конфиги по умолчанию (то, что было в ubuntu 20.04, за исключением того, что в /etc/systemd/sleep.conf было

HibernateMode=shutdown

Потом убрал, сделал systemctl daemon-reload, но вроде то же самое (восстановилось быстрее, но это связываю с тем, что я выполнил попытку сразу после возвращения из другого hibernate).

te111011010 ()
Последнее исправление: te111011010 (всего исправлений: 1)

Проверь работает ли обычный sleep. Есть вариант, что у тебя он не работает (баг ядра какой-нибудь) на твоём железе и система всегда грузится с нуля, но сохранение состояния на диск спасает.

KivApple ★★★★★ ()
Ответ на: комментарий от KivApple

Работает, я же пейсал. И suspend, и hibernate.

Тем более при hybrid sleep не спрашивает пароль на luks. Значит всё-таки он возвращается из саспенда. Только вот вся память оказывается сброшенной в swap. А должно быть, чтобы состояние памяти дублировалось, оно должно быть и в ram, и в свопе.

te111011010 ()
Последнее исправление: te111011010 (всего исправлений: 1)
Ответ на: комментарий от te111011010

Только вот вся память оказывается сброшенной в swap. А должно быть, чтобы состояние памяти дублировалось, оно должно быть и в ram, и в свопе.

Раскрой / обоснуй. Я вот не думаю, что должно.

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

А какой тогда смысл гибрида? Я думал, что смысл в том, что:

1) Если питание во время спячки не прерывалось, то resume произошёл бы моментально, как из suspend2ram

2) Если питание было прервано, то resume происходил бы как из hibernate, то есть долго. Но при этом это был бы именно resume.

te111011010 ()
Ответ на: комментарий от Deleted

Нет. (Просто ты дятел.) Этот оборот не является расхожим и устоявшимся. Это школоло-сленг, который, кстати, сами школоло уже не используют. Уныло форсится теми, кто хочет постебать школоту или закосить по неё.

anonymous ()
Ответ на: комментарий от te111011010

Так, по-моему у нас с терминологией рассинхрон.

Моё неэкспертное, но вроде как правильное представление:

Suspend: состояние RAM никуда не пишется и ниоткуда не считывается по пробуждению.

Hibernate: RAM вытесняется в swap насколько можно, оставшееся вытесняется в resume-область данных (которая где-то с десятилетие назад научилась жить в swap). RAM обесточивается, идёт cold-boot, по resume в cmdline с диска поднимается resume-часть, остальное остаётся в свапе и подымается лишь по первому доступу.

Hybrid sleep: то же вытеснение в swap, та же запись невытесняемого в resume, но без обесточивания системы. Cold-boot пойдёт по сценарию hibernate, пробуждение пойдёт по сценарию suspend, НО: вытеснение в swap все равно имеет место быть.

Смысл в гибриде есть, ибо пропускает я знатный кусок cold boot, смысл твоего недовольства непонятен. Гонять на диск и обратно вообще все, кроме дискового кеша было бы слишком долго.

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

А у меня дисковый кэш как раз занимает много времени. Минут 10 только на загрузку до скринлокера тратится А потом ещё долго тормозит, так как все данные всё равно в кэше, помогает только отключение и включение свопа.

te111011010 ()
Последнее исправление: te111011010 (всего исправлений: 1)