Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Гибернация и сон  (Прочитано 9005 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн HiDiv

  • Автор темы
  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Гибернация и сон
« : 31 Января 2017, 10:29:00 »
Hi All!

Не так давно перешел на своем рабочем ноутбуке Dell с Win7 на Ubuntu 16.04. При работе с Win на ноуте я очень часто пользовался функцией гибернации по закрытию крышки. Привык, что в конце рабочего дня, можно просто закрыть крышку при всех запущенных приложениях (их обычно довольно много), а утром включить ноут и продолжить с того же места.

После установки Ubuntu неприятным сюрпризом стало, что гибернация "из коробки" не заработала. Прогуглив тему и пройдя квест по настройке, мне все же удалось настроить гибернацию по команде pm-hibernate, а потом (с большим трудом!) и по закрытию крышки.

Проблема в том, что при выходе из режима гибернации (загрузки) происходят жуткие тормоза...  :'( Особенно если было перед этим запущено много приложений. Первоначальная часть загрузки проходит довольно быстро, но после того, как появляется десктоп, все висит и жутко жужжит диском. Такая ситуация может продолжаться до 5 минут... Соответственно ни о каком quick start ни может быть и речи!

Подскажите pls можно ли с этим что-то сделать? Насколько я понял, реализация механизма гибернации в linux довольно сырая... Если это так и ничего поделать нельзя, то придется по всей видимости поставить к своему мнению о linux жирный минус и смириться... :(

Я пробовал вместо гибернации использовать сон (suspend). Насколько я знаю, при этом не происходит создания и восстановления дампа памяти на диск, а просто понижается энергопотребление и отключается питание различных устройств типа диска и т.д. По идее восстановление тогда должно быть очень быстрым, но все "тупип" после включения примерно также, как и при гибернации...

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: Гибернация и сон
« Ответ #1 : 31 Января 2017, 10:57:37 »
HiDiv,
Это зависит от железа. Гибернация потому и не работает из коробки, что на некотором железе с этим плохо. Производители для линукса ничего не хотят делать, а разбираться с каждой моделью некому.
У меня оба режима работают отлично на всех устройствах. Повезло.
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн Tamer4

  • Активист
  • *
  • Сообщений: 695
    • Просмотр профиля
Re: Гибернация и сон
« Ответ #2 : 31 Января 2017, 11:08:07 »
HiDiv, Вот этот совет пробовал?
Обрати внимание, что для удачной гибернизации файл/раздел подкачки должен быть не меньше размера ОЗУ.

Оффлайн www777

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 2777
    • Просмотр профиля
Re: Гибернация и сон
« Ответ #3 : 31 Января 2017, 11:34:52 »
Для начала следует разобраться с режимом сна, он доступен в системе по умолчанию, её активировать не надо. Работает на большинстве устройств. И просыпается ноутбук очень быстро, а то что у вас сон ни чем не отличается от гибернации, говорит, о том, что вы что то перепутали. Ну не может такого быть...
У меня тоже работает и гибернация и сон, но гиберанцией очень давно не пользуюсь, из за нежелания ждать,подозреваю, что гибернация может быть приемлемой, если у вас SSD. А вот сон использую активно и часто. Очень удобно.
Так что для начала разберитесь, что вы сном называете. А Гибернация на HDD и не должна быстро работать.

Оффлайн HiDiv

  • Автор темы
  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Re: Гибернация и сон
« Ответ #4 : 01 Февраля 2017, 10:22:44 »
Это зависит от железа. Гибернация потому и не работает из коробки, что на некотором железе с этим плохо. Производители для линукса ничего не хотят делать, а разбираться с каждой моделью некому.
Это я понимаю, но в Win все работает хорошо. Если честно, то я вообще никогда раньше не задумывался, что со ждущим и спящим режимами могут быть проблемы. Мне кажется, что они существуют уже очень давно и хорошо описаны. Конечно на "новомодных" мамах появляются всякие "супер-режимы" типа скоростной гибернации и всего такого, но я то говорю про классику...

Пользователь добавил сообщение 01 Февраля 2017, 10:24:59:
Обрати внимание, что для удачной гибернизации файл/раздел подкачки должен быть не меньше размера ОЗУ.
Это я читал. У меня сама гибернация-то работает, вопрос в том, что просыпание связано с таким "похмельем", что порой быстрее перегрузиться по кнопке выключения питания... :(
« Последнее редактирование: 01 Февраля 2017, 10:24:59 от HiDiv »

Morisson

  • Гость
Re: Гибернация и сон
« Ответ #5 : 01 Февраля 2017, 10:32:25 »
HiDiv, Это называется Гибридный Сон.) Отличается от просто гибернации. Сильно. Работает быстрее.
Выдержка из man pm-untils:
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 01 Февраля 2017, 10:37:39 от Morisson »

Оффлайн HiDiv

  • Автор темы
  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Re: Гибернация и сон
« Ответ #6 : 01 Февраля 2017, 10:35:53 »
Для начала следует разобраться с режимом сна, он доступен в системе по умолчанию, её активировать не надо. Работает на большинстве устройств. И просыпается ноутбук очень быстро, а то что у вас сон ни чем не отличается от гибернации, говорит, о том, что вы что то перепутали. Ну не может такого быть...
Я пробовал команды pm-hibernate, pm-suspend и pm-suspend-hybrid. Насколько я понял, первая это "классическая" гибернация со сбросом и восстановлением полного дампа памяти на диск. Вторая это тот самый сон, когда просто понижается энергопотребление и часть периферии отключается. Последняя, это комбинированный режим, когда и дамп создается и сон включается. Если фактически питание не отключали, то происходит быстрое просыпание, иначе восстановление из режима гибернации.

Возможно я не совсем правильно сформулировал вопрос, мне кажется, что непосредственное восстановление дампа памяти, происходит довольно быстро, а вот потом у всего запущенного софта начинаются "непонятки" из-за того, что прошло уже несколько часов с момента их последней активности и все они начинают "приходить в себя". У меня после пробуждения даже часы на экране блокировки секунд 20-ть показывают вчерашнее время и дату. Может в этом ключе можно что-то настроить? В Win как раз просыпалось все очень быстро (при таком же объеме запущенного софта), а вот перезагрузка была реально медленной...

Morisson

  • Гость
Re: Гибернация и сон
« Ответ #7 : 01 Февраля 2017, 10:47:26 »
HiDiv, У меня просыпание происходит медленнее, чем включение ( у меня SSD)
systemd-analyze
Startup finished in 1.949s (kernel) + 2.382s (userspace) = 4.331s
Я использую гибернацию только в случае, если мне необходимо сохранить состояние приложений после длительного простоя. Так-то включиться быстрее)
Однако, просто спящий режим потребляет не так уж и много энергии. Поэтому смысла отстраивать гибернацию- не вижу.
После выхода из гибернации приложения у меня оживают тут же.
Возможно Ваша проблема связана с фризами при копировании большого количества мелких файлов
Попробуйте провернуть следующий финт ушами)):
sudo gedit /etc/sysctl.confВ самый конец добавьте:
vm.overcommit_ratio = 100
vm.overcommit_memory = 1
vm.dirty_background_bytes = 4194304
vm.dirty_bytes = 4194304
Сохраняете, закрываете файл.
Затем:
sudo sysctl -pТакже, обратите внимание на уменьшение обращения к разделу подкачки и кэширование.
У меня:
vm.vfs_cache_pressure = 50
vm.swappiness = 1
для SSD и 8Гб оперативки.

Оффлайн Tamer4

  • Активист
  • *
  • Сообщений: 695
    • Просмотр профиля
Re: Гибернация и сон
« Ответ #8 : 01 Февраля 2017, 13:26:49 »
Как-то статью читал об этих режимах, вроде автор тестировал как лучше, в режиме suspend у него работало только ОЗУ и потребление энергии составляло 10% от обычного. В общем он советовал не заморачиваться с hibernate тем более на ноутбуках. У меня, кстати, на ноуте используется только режим suspend. Ноуту уже 8 лет, и только пару месяцев назад батарея стала немного терять емкость.
 Саму статью, к сожалению, сейчас не нашел.
« Последнее редактирование: 01 Февраля 2017, 13:30:51 от Tamer4 »

Morisson

  • Гость
Re: Гибернация и сон
« Ответ #9 : 01 Февраля 2017, 15:46:35 »
Tamer4,
acpi -i
Battery 0: Discharging, 57%, 03:35:50 remaining
Battery 0: design capacity 5040 mAh, last full capacity 4278 mAh = 84%
где 84%- процент, показывающий конечную емкость от заводской, т.е. батарея износилась на 16% ;-)

Оффлайн Tamer4

  • Активист
  • *
  • Сообщений: 695
    • Просмотр профиля
Re: Гибернация и сон
« Ответ #10 : 01 Февраля 2017, 20:25:08 »
Morisson,
(Нажмите, чтобы показать/скрыть)

Оффлайн HiDiv

  • Автор темы
  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Re: Гибернация и сон
« Ответ #11 : 05 Февраля 2017, 13:40:14 »
Startup finished in 1.949s (kernel) + 2.382s (userspace) = 4.331s
У меня вот что получилось.
Startup finished in 9.813s (kernel) + 1min 27.845s (userspace) = 1min 37.658sЗа команды спасибо, сейчас попытаюсь из проанализировать и ввести у себя.

Пока нашел две вещи, у меня был по умолчанию смонтирован Win7 NTFS раздел довольно большой и в top процесс mount.ntfs отжирал ресурсы. Я его сейчас отмонтировал по умолчанию. И еще после просыпания в топе iotop находится mlocate. Насколько я понимаю, она должна индексировать файлы для ускорения поиска, в том числе она это делала и на win разделе. Индексирование вещь конечно нужная, но может как-то отсрочить ее запуск сразу после загрузки? Или вообще привязать как-то к периоду наименьшей активности? Мне раньше казалось, что это задание cron, которое стартует только ночью...

Пользователь добавил сообщение 05 Февраля 2017, 14:04:03:
Поставил себе
vm.overcommit_ratio = 100
vm.overcommit_memory = 2
vm.dirty_background_bytes = 4194304
vm.dirty_bytes = 4194304
vm.swappiness = 10

Про vm.overcommit_memory прочитал следующее
Цитировать
vm.overcommit_memory — отвечает за стратегию overcommit.
Стратегии есть такие (см. файл с исходниками ядра mm/mmap.c):
0 - OVERCOMMIT_GUESS — эвристический подход к распределению памяти. В нем выделяется столько памяти, сколько хочет процесс. Но в swap/res попадает только те страницы, которые используются этим процессом.
1 - OVERCOMMIT_ALWAYS — overcommit памяти есть всегда. Использовать лучше с совсем кривыми приложениями и быть готовым при этому ко всему.
2 - OVERCOMMIT_NEVER — без overcommit. В этом случае допустимый объем пространства памяти будет swap+ram*overcommit_ratio/100 .
Решил, что вместо 1 лучше поставить 2 (если я правильно понял вашу мысль).

А вот про vm.vfs_cache_pressure я как-то не уверен...
Цитировать
В псевдофайле vfs_cache_pressure хранится значение - уровень выделяемой памяти под кэш. Значение по умолчанию: 100. Увеличение этого параметра заставляет ядро активнее выгружать неиспользуемые страницы памяти из кеша, т.е. количество выделяемой оперативной памяти под кеш будет расти медленнее, что в свою очередь снизит вероятность того, что будет задействован раздел swap. При уменьшении этого параметра ядро, наоборот, будет дольше держать страницы памяти в кеше, в том числе и в swap'е. Это имеет смысл при небольшом количестве ОЗУ, например, если у нас 512 МБ памяти, то параметр vfs_cache_pressure можно выставить равным 50. Это позволит сократить количество дисковых операций в swap разделе, так удаление неиспользуемых страниц будет происходить реже. Дальнейшее уменьшение этого параметра может привести к нехватке памяти.
Если вы хотите ускорить работу системы и у вас достаточно оперативки (2 Гб и более), то измените значение системы, так: swappiness = 10 , vfs_cache_pressure = 1000 (по умолчанию 100).
Вы рекомендуете поставить 50 (уменьшить), а если я правильно понял описание параметра, то нужно ставить 1000 (увеличивать)... Или я не правильно понял идею?
« Последнее редактирование: 05 Февраля 2017, 14:04:03 от HiDiv »

Morisson

  • Гость
Re: Гибернация и сон
« Ответ #12 : 05 Февраля 2017, 14:24:35 »
Вы рекомендуете поставить 50 (уменьшить)
Я не рекомендую) У меня SSD.

Оффлайн DimanBG

  • Старожил
  • *
  • Сообщений: 1316
    • Просмотр профиля
Re: Гибернация и сон
« Ответ #13 : 05 Февраля 2017, 15:43:35 »
Вы рекомендуете поставить 50 (уменьшить), а если я правильно понял описание параметра, то нужно ставить 1000 (увеличивать)... Или я не правильно понял идею?
Не правильно. Один дурак-говноблоггер не понимая что написал, остальные недоумки скопипастили и до сих копипастят.
При 1000 метаданные вообще не будут кэшироваться. 100 - это для среднего сферического компа в вакууме примерно десятилетней давности. Эти числовые значения относятся не к объёму, а к времени. Чем выше значение, тем чаще данные кэша будут сбрасываться на диск. А их лучше подольше подержать в ОЗУ. 

Оффлайн HiDiv

  • Автор темы
  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Re: Гибернация и сон
« Ответ #14 : 09 Февраля 2017, 10:30:08 »
Поставил предложенные параметры. На обычной работе они вроде никак не сказались...

Провел несколько экспериментов.

Обычная загрузка с момента выбора строчки Ubuntu в меню GRUB до появления запроса имени и пароля в lightdm занимает 1 мин 16 сек.

При загрузке из режима комбинированного сна (suspend+hibernate) примерно через 30 сек появился экран с приложениями, через сколько системе стала работоспособной (перестала лагать и скрипеть диском) сказать трудно, но примерно еще минута.

При загрузке из режима гибернации через 1 мин 50 сек появился экран с приложениями, но система на воздействия с клавиатуры и мыши не отвечала, через 4 минуты 30 сек (с начала общей загрузки) приложения задышали (обновились часы на панели задач, квакнул скайп, в терминале начал обновляться iotop - я его специально оставил открытым). Через 4 минуты 40 сек (с начала общей загрузки) начало что-то работать, при этом диск продолжал шуршать и все сильно лагало. Где-то еще через секунд 30 все устаканилось.

Получается, что система загрузилась из режима гибернации примерно за 5-5.5 минут. :-\ Это примерно в 5 раз медленнее обычной загрузки... Было запущено конечно много приложений, но хочется понять, это "правда жизни" или еще что-то можно сделать? Только просьба не предлагать поставить SSD диск или поменять ноутбук! :)

P.S.: Ради интереса нужно замерить сколько Windows просыпается при примерно таком же количестве запущенных задач.

 

Страница сгенерирована за 0.04 секунд. Запросов: 25.