Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.


Информация

Рекомендации по выбору размера файла (или дискового раздела) подкачки, достаточного для успешного сохранения образа памяти различаются: в Интернете встречаются значения от половины раздела оперативной памяти до двукратного размера оперативной памяти. При этом в файле /etc/power/image_size хранится значение размера, в который ядро пытается уместить сохраняемый образ памяти. По

необходимости полностью отключить свопинг

умолчанию это значение равно 2/5 размера оперативной памяти, но может быть изменено администратором системы даже до нуля, и, как указано в документации (https://www.kernel.org/doc/Documentation/power/interface.txt), ядро не будет отказываться уходить в спящий режим, а будет пытаться уместить образ в указанный размер.

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

См. также: Область подкачки (swap): особенности применения и обеспечения безопасности.




Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Common Edition 2.12


  1. По необходимости полностью отключить подкачку:

    Command

    sudo

-i
  1. sysctl -w vm.swappiness=1
    echo vm.swappiness=1

>>
  1. | sudo tee -a /etc/sysctl.d/local.conf


exit

  1. Создать на дисковом разделе, на котором размещена корневая файловая система, файл достаточного размера, например, с именем /swap

(в примере создаётся файл
  1. и размером 16Гигабайт

)
  1. :

    Command

    sudo

-i
  1. fallocate -l 16g /swap


  2. Ограничить права доступа к созданному файлу:

    Command

    sudo chmod 600 /swap


  3. Разметить в созданном файле файловую систему подкачки:

    Command

    sudo mkswap /swap


  4. Добавить в файл /etc/fstab запись для автоматического включения подкачки в созданный файл при перезагрузке ОС:

    Command

    echo "/swap swap swap defaults 0 0"

>>
  1. | sudo tee -a /etc/fstab


  2. Включить использование созданного файла для подкачки:

    Command

    sudo swapon /swap


  3. Убедиться, что подкачка включена:

    Command
    sudo swapon

    пример вывода команды:

    Блок кода
    NAME      TYPE      SIZE USED PRIO
    /dev/vda5 partition 975M   0B   -2
    /swap

exit
  1.      file       16G   0B   -3


  2. Отключить использование для подкачки дискового раздела (в примере выше - дисковый раздел /dev/vda5) (необязательный шаг):

    Command
    sudo swapoff /dev/vda5


  3. Определить идентификатор (UUID) дискового раздела, на котором размещен созданный файл:

    Command
    sudo findmnt -no UUID -T
.gitconfig
  1. /swap

    В результате выполнения команды будет выдана строка с идентификатором вида:

    Информация
    880d582e-5797-4d06-9e33-71da00a7aca2


  2. Определить смещение файла

infoгде нужное смещение находится в первой строке с числами (выделено жирным шрифтом).
  1. Command
    sudo filefrag -v /swap | grep "^\s*0:"

    В результате выполнения команды будет выдана информация вида:

Информация
Filesystem type is: ef53
File size of /swap is 4294967296 (1048576 blocks of 4096 bytes)
ext: logical_offset: physical_offset: length: expected: flags:
0:     0.. 0: 38912.. 38912: 1:
1:     1.. 22527: 38913.. 61439: 22527: unwritten
2:     22528.. 53247: 899072.. 929791: 30720: 61440: unwritten
  1. Блок кода
    0:        0..       0:    7176192..   7176192:      1: 

    где нужное смещение находится в четвертом числе (в данном случае - 7176192);



  1. В файл /etc/initramfs-tools/

config
  1. conf.d/resume внести запись с параметрами восстановления (ранее полученные UUID как значение параметра RESUME и смещение как значение параметра resume_offset). Если такого файла нет - то создать его:

info
  1. Блок кода
    RESUME=UUID=880d582e-5797-4d06-9e33-71da00a7aca2 resume_offset=
38912
  1. 7176192

    Команда для сборки нужной строки параметров:

    Command
    echo "UUID=`sudo findmnt -no UUID -T /swap` resume_offset=`sudo filefrag -v /swap | grep "^\s*0:" | xargs | cut -d " " -f 4 | cut -d . -f 1`"


  2. В файл /etc/default/grub добавить аналогичные параметры восстановления в параметр GRUB_CMDLINE_LINUX_DEFAULT, например:

  1. Блок кода
    GRUB_CMDLINE_LINUX_DEFAULT="quiet net.ifnames=0 resume=UUID=880d582e-5797-4d06-9e33-71da00a7aca2 resume_offset=
38912Обновить ramfs и grub
  1. 7176192"
...

  1. Обновить параметры загрузчика grub и файловую систему ramfs:

    Command
    sudo update-grub
    sudo update-initramfs -u -k all
  • Перезагрузить систему.
  • Информация

    Рекомендации по выбору размера файла (или дискового раздела) подкачки, достаточного для успешного сохранения образа памяти различаются: в Интернете встречаются значения от половины раздела оперативной памяти до двукратного размера оперативной памяти. При этом в файле /etc/power/image_size хранится значение размера, в который ядро пытается уместить сохраняемый образ памяти. По умолчанию это значение равно 2/5 размера оперативной памяти, но может быть изменено администратором системы даже до нуля, и, как указано в документации (https://www.kernel.org/doc/Documentation/power/interface.txt), ядро не будет отказываться уходить в спящий режим, а будет пытаться уместить образ в указанный размер.

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

    1. Если далее не планируется использовать дисковый раздел подкачки, то удалить из файла /etc/fstab запись о нем. Должна быть удалена строка вида:

      Блок кода
      UUID=af75b52e-22ab-4429-9de1-8ac700187ba2 none            swap    sw              0       0


    2. Перезагрузить систему;
    3. Убедиться, что подкачка выполняется в созданный файл /swap:

      Command
      sudo swapon


    4. Для проверки работоспособности сделанных настроек выполнить гибернацию и выход из гибернации.