30

Я не установил раздел подкачки на моем ПК, потому что: а) у меня достаточно ОЗУ (8 ГБ) и б) у меня есть большие жесткие диски, которые я не хотел нарезать на мелкие кусочки, поэтому мои самые маленькие разделы - 50 GiB, и я уже использую их для ОС.

Теперь, чтобы перейти в спящий режим, мой Linux (Ubuntu Jaunty) требовал замены. У меня был запасной раздел на 100 ГБ, поэтому я настроил его как swap, но меня это не устраивает. Он используется только для гибернации (всегда достаточно свободной оперативной памяти и система никогда не переключается), а также немного велика для замены. Кроме того, мне в конечном итоге понадобится это для чего-то другого.

Как я могу перейти в режим гибернации (приостановить на диск) без раздела подкачки в Ubuntu Jaunty?

4 ответа4

23

Непроверенная идея: почему бы вам не создать оболочку для s2disk или другую утилиту, которая обрабатывает приостановку на диске, которая управляет файлом подкачки (в отличие от раздела подкачки) и удаляет его при возобновлении?

  • Создайте файл подкачки: dd if=/dev/zero of=/swapfile bs=1024 count=8388608 (8 ГБ)
  • Настройте файл подкачки: mkswap /swapfile
  • Только когда вам нужно установить Suspend, вы можете активировать его: swapon /swapfile
  • Когда вы возобновите, вы можете отключить его: swapoff /swapfile

Возобновление из файлов подкачки возможно, и задокументировано на kernel.org

9

У вас, вероятно, есть два пути здесь,

  1. Рассмотрим файл подкачки вместо раздела подкачки
    • Использование небольшой (по сравнению с размерами разделов, но достаточно большой для памяти) флешки для раздела подкачки

Все , что вы делаете, я думаю, что swapoff и swapon после резюме было бы полезно.
И, так как вы на самом деле не требуют подкачки, вы можете оставить его swapoff после резюме.

Обновление: в комментариях говорится о медленном спящем режиме USB.
Итак, проверяйте в пронумерованном порядке - в первой схеме есть заметки для спящего режима с использованием swap-файлов.


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

  • Вы загружаете свой 8 ГБ ОЗУ с некоторыми приложениями и оставляете их там
  • или вы просыпаетесь по локальной сети

Но так ли это на самом деле? или у вас есть какая-то другая причина для спячки?

Я использую USB-загрузку Ubuntu и всегда выключаюсь.

4

Да, но не без особых усилий. Существует 2 различных способа перехода в режим гибернации (приостановка на диск) в Linux:

  1. swswap, который входит в ядро
  2. tuxonice (ранее suspend2), которого нет.

Tuxonice доступен в виде патча для ядра и позволит вам записать изображение приостановки в обычный файл.

Из Википедии:

TuxOnIce (formerly known as Suspend2) is an implementation of the suspend-to-disk (or hibernate) feature which is available as patches for the 2.6 Linux kernel. It was formerly known as 'swsusp'. During the 2.5 kernel era, Pavel Machek forked the original out-of-tree version of swsusp (then at approximately beta 10) and got it merged into the vanilla kernel, while development continued in the swsusp/Suspend2/TuxOnIce line. TuxOnIce includes support for SMP, highmem and preemption. Its major advantages over swsusp are:

    * It has an extensible architecture that allows for arbitrary transformations on the image and arbitrary backends for writing the image;
    * It prepares the image and allocates storage prior to doing any storage and accounts for memory and storage usage very carefully, thereby becoming more reliable;
    * Its current modules for writing the image have been designed for speed, combining asynchronous I/O, multithreading and readahead with LZF compression in its default configuration to read and write the image as fast as hardware is able;
    * It has an active community supporting it via a wiki, mailing lists and irc channel (see the TuxOnIce website);
    * It is more flexible and configurable (via a /sys/power/tuxonice interface);
    * Whereas the current swsusp (and uswsusp) implementations support writing the image to one swap device only, TuxOnIce supports multiple devices in any combination of swap files and swap partitions. It can also write the image to an ordinary file, thereby avoiding potential race issues in freeing memory when preparing to suspend.
    * It supports encryption by various methods;
    * It can store a full image of memory (resulting in a more responsive system post-resume), while uswsusp and swsusp write at most half the amount of RAM.

Поскольку он не включен в ядро по умолчанию, вам, к сожалению, придется выбрать патчи для ядра, доступные для Jaunty, и скомпилировать ядро самостоятельно.

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

3

Как Джоэл и Джефф обсуждали на подкасте, отключение свопа, как правило, не очень хорошая идея - даже если бы оно того стоило (а это не так) - в настоящее время дисковое пространство настолько невероятно дешево, что его включение не стоит вам что-нибудь. Вы можете получить концерт менее чем за десять центов (то есть евроцентов)!

Цитировать:

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

Послушайте подкаст, чтобы узнать больше о разговоре (он начинается примерно на минуте 59), или прочитайте вопрос, связанный с ошибкой на сервере, который указан на странице подкаста (вопрос 23621). Они говорят о файле подкачки Windows, но аргумент одинаково действителен для UNIX (хотя они могут управлять памятью по-другому).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .