Почему гибернация настолько сложна в Ubuntu (и других дистрибутивах Linux)? [закрыто]

Я пользуюсь Ubuntu с версии 9.04, , и мне интересно, почему гибернация в Ubuntu (и других дистрибутивах Linux) настолько сложна .

Недавно я установил 18.04 и попробовал несколько руководств в Интернете, чтобы сделать систему способной к гибернации, либо (а) щелкнув меню и выбрав параметр гибернации, либо (б) автоматически перейдя в спящий режим при закрытии крышка моего ноутбука.

В первом случае мне удалось заставить его работать на моем ноутбуке после бесчисленных часов исследований. Однако мне еще предстоит заставить работать второй случай.

Вот краткое изложение того, что я сделал:

  1. Я установил расширение gnome под названием кнопка состояния гибернации

  2. Отредактировано /etc/polkit-1/localauthority/50-local.d/com .ubuntu.enable-hibernate.pkla согласно этот ответ здесь, на AU .

  3. Отредактировал мою конфигурацию GRUB, чтобы возобновить мой раздел подкачки UIID, а затем обновил GRUB

  4. Отредактировал /etc/systemd/logind.conf согласно этот ответ здесь, на AU .

Вот технические характеристики оборудования моей машины, на случай, если это имеет значение:

Dell G3 laptop 
CPU: Intel Core i7 8550H
GPU: Nvidia GTX 1050TI
RAM: 16 GB
SSD: SanDisk 240GB 
HDD: 1TB (I think Seagate) 
2
задан 28 May 2019 в 16:13

2 ответа

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

Как правило, Linux нуждается в размере оперативной памяти для размера SWAP, но не все следуют этому в своей сущности, что приводит к проблемам Hibernate. Ubuntu использовал Hibernate в качестве функции по умолчанию на панели Power, но начиная с Ubuntu 12.04 LTS, эта функция была удалена из-за постоянно растущих проблем, о которых сообщали несколько пользователей.

Но это не значит, что ваш компьютер больше не может переходить в спящий режим. Все, что вам нужно сделать, это сначала проверить, совместимо ли оборудование вашего компьютера с этим режимом.

0
ответ дан 28 May 2019 в 16:13

Спящий режим - нелегкая вещь для реализации. На самом деле Apple не использовала спящий режим на своих компьютерах Mac до 2005 года (источник) , через 5 лет после того, как Windows ME официально представила спящий режим в 2000 году, хотя Windows 95 и 98 поддерживали его, если производитель предоставил оборудование -специфичные драйверы (источник) .

По сути, гибернация работает так, что ядро ​​переводит весь процесс в спящий режим, сбрасывает содержимое оперативной памяти на диск и затем выключает компьютер. Затем, когда компьютер снова включается, содержимое дампа памяти на диск перезагружается обратно в ОЗУ, а затем процессы снова пробуждаются.

1110 Вся эта процедура чревата проблемами. Например, что произойдет, если компьютер находится в спящем режиме, когда буфер файловой системы не синхронизирован с диском, а затем вы загружаете другую ОС при запуске резервного копирования компьютера? Что ж, вот как вы получаете ошибку «NTFS-раздел находится в небезопасном состоянии» при двойной загрузке Linux с установкой Windows, которая была либо в спящем режиме, либо с включенным «быстрым запуском».

Чтобы еще больше усложнить задачу, в то время как текущая реализация hibernate в Windows создает файл hiberfile.sys на диске C:\ для хранения дампа памяти, текущей реализации Ubuntu hibernate требуется раздел подкачки. Однако, поскольку конфигурация раздела подкачки зависит от выбора пользователя во время установки, некоторые пользователи могут создать раздел подкачки, недостаточно большой для хранения дампа ОЗУ, или другие могут вообще не использовать раздел подкачки!

1112 Еще одна вещь, которую следует учитывать, это то, что гибернация может занять много времени. Это особенно верно, если у вас большой компьютер с большим количеством оперативной памяти. Например, у меня есть 24 ГБ ОЗУ, и при постоянной скорости дампа на диск в 120 МБ / с выполнение гибернации займет более 3 минут. Не говоря уже о том, что возобновление займет столько же времени. В этот момент потребуется одинаковое количество времени для выключения и перезапуска.

Теперь, конечно, гибернация и выход из спящего режима будет намного быстрее, если у вас есть SSD. Однако постоянный сброс 24 ГБ на твердотельный накопитель не принесет больших результатов в отношении ожидаемого срока службы, поскольку флэш-память NAND на твердотельном накопителе может выдержать лишь ограниченное количество циклов стирания программы, прежде чем она начнет ухудшаться.

В целом, я думаю, что ответ о том, почему гибернация в Ubuntu настолько сложна, можно подытожить следующим образом:

  • Фактический технический процесс гибернации и возобновления очень сложен и " там будут драконы "

  • Эта особенность не очень востребована (например, я думаю, что многие другие люди, такие как я, хотели бы видеть, например, Wayland (замену X11) закончен, а не в спящем режиме.

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

0
ответ дан 28 May 2019 в 16:13

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

Похожие вопросы: