Как вы контролируете, как работает гибридная приостановка?

Я бы хотел, чтобы гибридная подвеска действовала определенным образом.

Если я добавлю код

# Always use suspend_hybrid instead of suspend
if [ "$METHOD" = "suspend" ]; then
METHOD=suspend_hybrid
fi
PM_HIBERNATE_DELAY=XX

в

/etc/pm/config.d/00-use-suspend-hybrid

где XX - это количество секунд, пока компьютер переходит в режим гибернации, указывает ли XX количество секунд, пока компьютер записывает состояние ОЗУ на диск, или пока компьютер фактически не перейдет в режим гибернации, или и то, и другое?

Я хотел бы использовать гибридную приостановку, при которой, когда я закрываю крышку моего ноутбука, состояние ОЗУ записывается на диск и сохраняется в ОЗУ во время закрытия крышки ноутбука, а затем после XX секунд компьютер фактически переходит в спящий режим (удаляет содержимое ОЗУ из ОЗУ). Если это не то, что делает приведенный выше код, может кто-нибудь дать мне код, который сделает это? Спасибо!

Код взят из этого вопроса: Как мне использовать pm-suspend-hybrid по умолчанию вместо pm-suspend?

ОБНОВЛЕНИЕ: я проверил это для себя, просто вынув аккумулятор моего ноутбука примерно через тридцать секунд после использования гибридной подвески, закрыв крышку. Когда я начал резервное копирование, система загрузилась как обычно. Это также произошло, когда я опустил

PM_HIBERNATE_DELAY=XX

линия и когда я побежал

sudo pm-suspend-hybrid

из терминала. Следовательно, можно сделать вывод, что система НЕ записывает состояние ОЗУ на диск, как только он приостанавливается.

Я прав в этом предположении?

Если да, я хотел бы знать, как заставить гибридную приостановку записывать состояние оперативной памяти на диск, когда компьютер приостанавливается, а не после истечения таймера.

Я знаю, что этот вопрос из тщеславия больше всего на свете, но он был опубликован в течение месяца даже без комментариев. Есть ли кто-нибудь, кто знает о том, что я могу пойти туда, где я мог бы найти решение для себя?

3 ответа

Решение

Из http://www.webupd8.org/2012/11/how-to-use-hybrid-suspend-in-ubuntu.html (перефразировано), по-видимому, существует две разные версии гибридного сна. Тот, который приостанавливается на ОЗУ и диск одновременно; и другой, который сначала зависает в ОЗУ, а затем будит компьютер после PM_HIBERNATE_DELAY затем приостановить на диск и (казалось бы) выключить компьютер. Первый, похоже, зависит от версии ядра и поддерживается только в версии 3.6+. Я понимаю, что в Ubuntu 12.10 используется ядро ​​Linux 3.5, поэтому последний вариант, по-видимому, является вашим единственным вариантом без обновления (которое, я полагаю, возможно, уже было сделано).

Вы не заявляете, что вы установили PM_HIBERNATE_DELAY в ваших тестах, на странице, на которую есть ссылка в вашем вопросе, но я считаю, что согласно странице руководства pm-suspend / pm-hiberate / pm-suspend-hybrid, удаляющей ее явное определение, будет установлен wake-to- Задержка последовательности перехода в режим гибернации и выключения составляет 15 минут (900 секунд):

PM_HIBERNATE_DELAY [=900]
       If you are using kernel suspend/resume and invoke
       pm-suspend-hybrid, this environment variable controls how many
       seconds the system will wait after going into suspend _before waking
       back up and hibernating_. By default, this is set to 900 seconds (15
       minutes).

Вы также не упоминаете, если у вас есть, поэтому также предлагаете разумно проверить, со страницы, на которую ссылается ваш вопрос, что гибридное приостановление поддерживается вашим оборудованием, установив результат sudo pm-is-supported --suspend-hybrid ; echo $? является 0

Также, возможно, следует отметить, что, по-видимому, в KDE 4.3 есть ошибка, когда, если Hybrid Suspend недоступен, используется стандартная приостановка к RAM (не уверен, если это происходит без явного уведомления)... http: //www.informit. ru / article / article.aspx? p = 1565701 & seqNum = 3. Эта статья также содержит некоторую другую полезную информацию, относящуюся к сну / гибридному сну / тому подобное.

PS DIego Callejo реализация DIego Callejo находится по адресу http://www.cyberciti.biz/faq/linux-command-to-suspend-hibernate-laptop-netbook-pc

Я обнаружил, что на моем устройстве (ASUS 1215b) возобновление не удалось, так как приостановка NetworkManager Failed...

После некоторой отладки я обнаружил, что dbus_set команда в файле /usr/lib/pm-utils/sleep.d/55NetworkManager не удалось. Затем я заменил содержимое двух функций в этом файле (suspend_nm() а также resume_nm()), с:

#! / bin / sh # Если мы запустили NetworkManager, скажите, что мы идем спать.
# TODO: Сделайте NetworkManager более умным в отношении того, как обрабатывать сон / возобновление # Если мы спим меньше времени, чем требуется для TCP, чтобы сбросить # соединение, и нам назначен тот же IP при возобновлении, мы не должны # разрывать установленные соединения.  Apple может сделать это, и это довольно изящно., "${PM_FUNCTIONS}"

suspend_nm()
{
    # Сказать NetworkManager завершить работу сети printf "После того, как NetworkManager перевел все взаимодействия в режим сна... AixMaN Way...", остановка сетевого менеджера службы && echo Готово. || эхо не удалось.
}

resume_nm()
{
    # Разбудить NetworkManager и заставить его выполнить новое подключение printf Запуск службы сетевого менеджера сервиса AIXMaN Way... "Запуск && echo Готово. || эхо не удалось. } регистр "$1" в hibernate|suspend)
        suspend_nm;; оттепель | резюме)
        resume_nm;;
    *) выход $NA;; ESAC

Я добавил ответ на ваш вопрос о включении гибридной приостановки здесь: /questions/394269/kak-mne-ispolzovat-pm-suspend-hybrid-po-umolchaniyu-vmesto-pm-suspend/394283#394283

Другие вопросы по тегам