Страница 1 из 5

Cпящий режим (Suspend-To-Disk) в файл подкачи

Добавлено: 26 июл 2018, 03:05
Chocobo
Раньше почти никогда особо не озадачивался этим вопросом, но тут стало интересно что ж и как оно работает. Да и неоднократно в топиках говорилось говорили, что не работает сон. Давайте рассмотрим вариант гибернации в свопфайл с помощью uswsusp.
для начала удостоверяемся что используем свопфайл, и объем его достаточен, чтоб убралась вся оперативная память, при случае.
Если все так и есть - переходим к настройке:

1. Ставим пакет - apt install uswsusp
Снимок экрана от 2018-07-26 02-16-05.png
2. Проводим первоначальную настройку - sudo dpkg-reconfigure -pmedium uswsusp
   
Снимок экрана от 2018-07-26 02-16-42.png
Соглашаемся
   
Снимок экрана от 2018-07-26 02-18-11.png
Здесь выбираем не файл, а именно раздел, на котором он находится
   
Снимок экрана от 2018-07-26 02-18-26.png
Шифровать или нет - дело ваше, но я тестировал нешифрованным :)
   
По итогу проверим конфиг uswsusp и запомним параметры resume device и resume offset
Снимок экрана от 2018-07-26 02-22-34.png
4. Добавим параметры загрузки в /etc/default/grub приведя следующую строчку к подобному виду, на основе своих параметров
GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/disk/by-uuid/5ade1b5d-9ea0-4e76-9dad-849b617abdf3 resume_offset=34816"
Применяем правки командой sudo update-grub
5. После праки конфига - обновим инитрд с sudo update-initramfs -u -k all
6. Правим юниты systemd, для коректной отправки в hibernate
sudo cp /lib/systemd/system/systemd-hibernate.service /etc/systemd/system/
в файле /etc/systemd/system/systemd-hibernate.service правим строчку ExecStart к виду
ExecStart=/bin/sh -c 's2disk && run-parts --regex .\* -a post /lib/systemd/system-sleep'
И перевычитываем юниты с sudo systemctl daemon-reload
7. Контрольная перезагрузка для применения стартовых параметров перед проверкой.

Проверяем, при завершении сессии выбираем "Спящий режим":
Снимок экрана от 2018-07-26 02-43-36.png
Экран моргнет и покажет процесс упаковки памяти в swap утилитой s2disk, после чего компьютер уйдет спать, чтоб при очередном старте увидеть этот образ и запустить сессию с того места, где мы её оставили.

Cпящий режим (Suspend-To-Disk) в файл подкачи

Добавлено: 26 июл 2018, 07:22
KOT040188
Я планировал дождаться отпуска и реализовать эту инструкцию http://help.ubuntu.ru/wiki/спящий_режим Пока ждущим обхожусь.

Cпящий режим (Suspend-To-Disk) в файл подкачи

Добавлено: 26 июл 2018, 07:45
di_mok
KOT040188,
В 2017 году часть информации из данной статьи устарела

Cпящий режим (Suspend-To-Disk) в файл подкачи

Добавлено: 26 июл 2018, 08:30
KOT040188
Да, эта инструкция немного проще…

Cпящий режим (Suspend-To-Disk) в файл подкачи

Добавлено: 26 июл 2018, 08:40
di_mok
Ни когда этим колдунством не пользовался. Скажите, а есть какая-то с того корысть?

Cпящий режим (Suspend-To-Disk) в файл подкачи

Добавлено: 26 июл 2018, 08:48
WWolf
Chocobo, а штатно через что работает?

Cпящий режим (Suspend-To-Disk) в файл подкачи

Добавлено: 26 июл 2018, 08:59
rogoznik
WWolf, есть подозрения что суспенд-ту-рам. Можешь легко проверить. Отправь спать и выдерни шнур питания. Потом включи и посмотри как будет включаться. Если будет как обычная загрузка значит я угадал.

Cпящий режим (Suspend-To-Disk) в файл подкачи

Добавлено: 26 июл 2018, 09:27
Chocobo
KOT040188 писал(а):
26 июл 2018, 07:22
реализовать эту инструкцию
А там все то же самое абсолютно, я руководствовался дебианьей статьей, как и они :) только мне не пришлось править pkla и модули PM. Все завелось и так.

Тестировал перед выкладкой на двух своих железках:
ноут: LM19 x64, ядро 4.15.0.29-generic, Mate 1.20.1, CPU: Intel, GPU: i915
десктоп: LM19 x64, ядро 4.18.0-rc6, Cinnamon 3.8.8, CPU:Intel, GPU:amdgpu

Cпящий режим (Suspend-To-Disk) в файл подкачи

Добавлено: 26 июл 2018, 09:28
WWolf
darkfenix, чего ты угадал? Штатно в корице есть и сон и ждущий... Сон идёт в свап, ждущий в рам... Вот сон через что работает штатно, без установок допов...

Cпящий режим (Suspend-To-Disk) в файл подкачи

Добавлено: 26 июл 2018, 09:32
Chocobo
WWolf, pm-utils там изначально.
apt show писал(а):Description: utilities and scripts for power management
This package provides simple shell command line tools to suspend and
hibernate your computer.

Cпящий режим (Suspend-To-Disk) в файл подкачи

Добавлено: 26 июл 2018, 11:17
KOT040188
Chocobo писал(а):
26 июл 2018, 09:27
А там все то же самое абсолютно
вот не надо, там надо указывать начало файла, тут такого нет.

Cпящий режим (Suspend-To-Disk) в файл подкачи

Добавлено: 26 июл 2018, 11:18
Chocobo
А перечитать? :blink: оффсет файлу при любом раскладе будешь указывать

Cпящий режим (Suspend-To-Disk) в файл подкачи

Добавлено: 26 июл 2018, 11:26
rogoznik
Chocobo, а зачем вообще читать и понимать прочитанное. Проще ведь просто спорить и доказывать что ты прав.

Cпящий режим (Suspend-To-Disk) в файл подкачи

Добавлено: 26 июл 2018, 11:40
KOT040188
Chocobo писал(а):
26 июл 2018, 11:18
А перечитать
Да я поспать не успеваю. Отпуска жду, чтобы инструкцию применить. И всё рано не хватит отпуска. Раньше думал, вот выйду на пенсию… Теперь и об этом не мечтаю…

Cпящий режим (Suspend-To-Disk) в файл подкачи

Добавлено: 26 июл 2018, 11:40
Chocobo
KOT040188 писал(а):
26 июл 2018, 11:17
вот не надо,
Вот не надо ссылаться тут на недосып теперь :-D

Cпящий режим (Suspend-To-Disk) в файл подкачи

Добавлено: 11 сен 2018, 17:11
KOT040188
Chocobo писал(а):
26 июл 2018, 03:05
4. Добавим параметры загрузки в /etc/default/grub приведя следующую строчку к подобному виду, на основе своих параметров
GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/disk/by-uuid/5ade1b5d-9ea0-4e76-9dad-849b617abdf3 resume_offset=34816"
У меня там GRUB_CMDLINE_LINUX_DEFAULT="quiet splash". Я так понимаю эти параметры надо оставить?

Cпящий режим (Suspend-To-Disk) в файл подкачи

Добавлено: 11 сен 2018, 17:12
Chocobo
KOT040188, по желанию. Они с описанным функционалом не подвязаны никак)

Cпящий режим (Suspend-To-Disk) в файл подкачи

Добавлено: 11 сен 2018, 17:14
symon2014
KOT040188 писал(а):
11 сен 2018, 17:11
"quiet splash"
это просто показывает логотип вместо хода загрузки системы.

Cпящий режим (Suspend-To-Disk) в файл подкачи

Добавлено: 12 сен 2018, 08:28
KOT040188
Chocobo писал(а):
26 июл 2018, 03:05
6. Правим юниты systemd, для коректной отправки в hibernate
sudo cp /lib/systemd/system/systemd-hibernate.service /etc/systemd/system/
в файле /etc/systemd/system/systemd-hibernate.service правим строчку ExecStart к виду
ExecStart=/bin/sh -c 's2disk && run-parts --regex .\* -a post /lib/systemd/system-sleep'
А для гибридного сна можно сделать по аналогии?

Cпящий режим (Suspend-To-Disk) в файл подкачи

Добавлено: 12 сен 2018, 08:32
Chocobo
KOT040188, я не пробовал на данный момент.
Юнит наверное будет systemd-suspend-then-hibernate.service в этом случае