Я использую Ubuntu 13.10 и мне удается приостановить работу в ОЗУ без каких-либо инцидентов. Приостановка на диск (спящий режим), однако, не работает во второй раз, когда я делаю это (после перезагрузки).
Я пытался перейти в спящий режим с pm-hibernate
, а также с uswusp
.
В первый раз после перезагрузки все идет нормально, но если я попытаюсь снова перейти в спящий режим, оно будет зависать с сообщением s2disk snapshooting system
, и мне придется перезагрузиться.
Мой раздел подкачки больше моей оперативной памяти.
My /etc/default/grub
:
GRUB_DEFAULT="5"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
GRUB_TIMEOUT="10"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="resume=UUID=6a6e6406-4022-4620-bb36-fbf29f5c1cdf"
GRUB_SAVEDEFAULT="false"
Я запускаю update-grub после изменения параметра CMDLINE_LINUX.
Мой /etc/initramfs-tools/conf.d/resume
:
RESUME=UUID=6a6e6406-4022-4620-bb36-fbf29f5c1cdf
Обновил его после изменения:
sudo update-initramfs -u
Я попытался «переустановить» мой своп с помощью:
sudo swapoff -a && sudo swapon -U 6a6e6406-4022-4620-bb36-fbf29f5c1cdf
Но это ничего не изменило.
Вывод free -m
:
total used free shared buffers cached
Mem: 1865 644 1220 0 111 328
-/+ buffers/cache: 205 1659
Swap: 2044 0 2044
Вывод имени -a:
Linux QuoraF 3.11.0-13-generic #20-Ubuntu SMP Wed Oct 23 07:38:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Есть ли какой-нибудь способ переустановить, что не так после первой гибернации? Я полагаю, что система где-то создает что-то, а это блокирует последующие спящие режимы.
Нашли решение. Выполнение:
sync && sudo sysctl -w vm.drop_caches=3 && sudo sysctl -w vm.drop_caches=2
очистит кэш, и система сможет перевести компьютер в режим гибернации во второй раз после перезагрузки.
Я не знаю, что или почему что-то накапливалось в памяти. Это должна быть система стеков, где новые записи вытягивают записи, которые больше не нужны.
Советы Уилфа все еще действительны для системы, использующей пространство подкачки во время работы. Я использую его только для гибернации. Это означает, что у меня было 2 ГБ, но я использовал только 1 ГБ. Например, если бы мне потребовалось 3 ГБ, я бы не смог перевести компьютер с 2 ГБ ОЗУ в спам-раздел на 2 ГБ.
Я нашел обходной путь для своей машины, Asrock Z97 Fatal1ty, потому что HIBERNATE_MODE = «платформа» не работала, а «выключение» работало. Тестирование в терминале, введя в качестве пользователя root
echo shutdown > /sys/power/disk
, а затем
echo disk > /sys/power/state
, выполнило режим гибернации и работало столько раз, сколько я пытался. Я попробовал несколько руководств, пытаясь изменить режим по умолчанию с «платформы» на «выключение», но ни одно из них не сработало, поэтому я добавил следующую строку ниже в
/etc/rc.local
echo shutdown > /sys/power/disk
и затем сохраните файл.
редактировать: я первоначально набрал «echo shutdown> / sys / mode / disk» и «echo disk> / sys / mode / state» в своем исходном ответе и осознал свою ошибку. Я также отформатировал код как мог. извините за необычное количество правок.
Вы можете включить опцию меню гибернации, создав файл:
/var/lib/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
и добавление этого в этот пустой файл:
[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate
ResultActive=yes
, а затем выйдите из системы и снова войдите в нее, и hibernate будет находиться в меню параметров выхода из системы, и это работало каждый раз. Я знаю, что кто-то может улучшить этот ответ, но я решил поделиться тем, что сработало для меня. В идеале можно найти правильный файл для редактирования режима по умолчанию для режима гибернации для pm-utils, но, как я уже сказал, я пытался, но ничего не получалось, но это помогло. Единственное предостережение, с которым я столкнулся, было то, что теперь вам нужно нажать кнопку питания, чтобы выйти из режима гибернации, потому что клавиатура не будит компьютер, как это было с «платформой». Надеюсь, это кому-нибудь поможет.
Поскольку весьма вероятно, что у вас недостаточно свопа для гибернации, вы можете увеличить размер пространства подкачки.
Существует разное мнение о том, каким должен быть размер свопа, но вот один из 64-битных документов Fedora (не могу найти Ubuntu… был один, Я нашел это давным-давно ...) :
Таким образом, он рекомендует в 3 раза больше оперативной памяти. В итоге получается 5595Mib (5,5 ГБ), чего должно быть достаточно. Я думаю, что это для возможного переполнения ОЗУ плюс размер гибернации. На фактическом процессе увеличения пространства подкачки есть несколько хороших ответов здесь .
Если есть версия Ubuntu с вышеприведенной информацией, я с удовольствием заменю в