Swap: различия между версиями
Илья Н. (обсуждение | вклад) мНет описания правки |
Илья Н. (обсуждение | вклад) мНет описания правки |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 151: | Строка 151: | ||
su - | su - | ||
blkid | grep swap | blkid | grep swap | ||
Найти запись о разделе подкачки | Найти запись о разделе подкачки ('''идентификатор в Вашем случае будет другой'''): | ||
/dev/sda3: UUID="b7fed2ff-45a7-41f1-a7a1-d24fa85bf5b1" TYPE="swap" PARTUUID="a1fbc912-01" | /dev/sda3: '''UUID="b7fed2ff-45a7-41f1-a7a1-d24fa85bf5b1"''' TYPE="swap" PARTUUID="a1fbc912-01" | ||
Добавить запись о разделе подкачки: | Добавить запись о разделе подкачки: | ||
mcedit /etc/fstab | mcedit /etc/fstab | ||
Добавить строку: | Добавить строку ('''с найденным выше идентификатором'''): | ||
UUID=b7fed2ff-45a7-41f1-a7a1-d24fa85bf5b1 swap swap defaults 0 0 | '''UUID=b7fed2ff-45a7-41f1-a7a1-d24fa85bf5b1''' swap swap defaults 0 0 | ||
Сохранить файл <code>F2</code> и закрыть текстовый редактор <code>F10</code>. | Сохранить файл <code>F2</code> и закрыть текстовый редактор <code>F10</code>. | ||
Текущая версия от 15:38, 28 октября 2024
swap — это специальная системная область, предварительно выделенная на накопителе (жёстком диске) и используемая операционной системой с целью резервирования свободного пространства, которое может быть задействовано при нехватке ОЗУ.
В Linux используется два варианта области подкачки:
- В виде раздела на накопителе.
- В виде файла.
В современных условиях предпочтительнее использовать swap в виде файла.
Особенности swap-файла:
- Можно легко изменять размер или полностью удалить, что затруднительно для варианта в виде раздела.
- Можно разместить на зашифрованном разделе.
- В сравнении со swap-разделом есть незначительное снижение производительности.
- Для использования гибернации требуется дополнительная подготовка (получение UUID и смещения заголовка) и пересоздание загрузочного образа initrd.
Создание swap-файла
- Все дальнейшие операции необходимо выполнять с правами суперпользователя:
- Удостоверьтесь, что swap отсутствует:
- Начиная с ядра Linux 5.7, согласно документации mkswap, для достижения "монолитности" заполнения пространства файла в файловой системе, swap-файл следует создавать с помощь утилиты dd:
# dd if=/dev/zero of=/swapfile bs=4M count=1024 status=progress
- Пояснения:
- if=/dev/zero — это виртуальное устройство, генерирующее нулевые байты. Из него будет браться поток нулей и записываться в файл.
- of=/swapfile — создаваемый и наполняемый нулями swap-файл.
- bs=4M — размер порции данных в мегабайтах.
- count=1024 — число порций данных, которые будут записаны в указанный файл. В виду того, что требуется записать 4096 МБ данных, то при размере порции 4 МБ необходимо 1024 порции.
- status=progress — показывать ход прогресса операции.
- В целях безопасности необходимо ограничить права, чтобы другие пользователи не могли взаимодействовать с файлом:
- Вместо нулей внутри swap-файла нужно создать специальную файловую систему swap:
- Остаётся активировать подготовленный swap-файл:
- С тем учётом, что созданный swap включен вручную в рамках активной сессии, он будет работать только до перезапуска сессии (перезагрузки системы). Для постоянной работы необходимо прописать автоматическое монтирование в /etc/fstab:
- Проверить правильность заполнения fstab:
Удаление файла подкачки
- Перед удалением сначала необходимо отключить использование swap:
- После можно удалить файл:
- Так же необходимо отключить автоматическое монтирование.
- И удаляем строчку о монтировании swap-файла.
- Сохраняем изменения клавишей F2, выходим F10 и проверяем fstab:
Создание раздела подкачки (swap)
Иногда может понадобиться создать раздел подкачки (swap) вместо файла подкачки, например, для настройки перехода компьютера в спящий режим (подробнее см. Гибернация). Для этого можно выполнить следующее:
1. Отключить использование файла подкачки согласно инструкции, удалить swap-файл и запись о нем в /etc/fstab:
su - swapoff /swap rm /swap mcedit /etc/fstab
Удалить строку:
/swap swap swap defaults 0 0
Сохранить файл F2
и закрыть текстовый редактор F10
.
2. Загрузиться с LiveCD. С помощью программы GParted при необходимости уменьшить размер имеющегося раздела диска:
su- gparted
В программе GParted создать раздел подкачки:
Затем в GParted нажать Применить все операции:
3. Перезагрузить компьютер. Раздел подкачки может подключиться автоматически. Нужно добавить запись о разделе подкачки в файл /etc/fstab:
su - blkid | grep swap
Найти запись о разделе подкачки (идентификатор в Вашем случае будет другой):
/dev/sda3: UUID="b7fed2ff-45a7-41f1-a7a1-d24fa85bf5b1" TYPE="swap" PARTUUID="a1fbc912-01"
Добавить запись о разделе подкачки:
mcedit /etc/fstab
Добавить строку (с найденным выше идентификатором):
UUID=b7fed2ff-45a7-41f1-a7a1-d24fa85bf5b1 swap swap defaults 0 0
Сохранить файл F2
и закрыть текстовый редактор F10
.
4. Проверить файл /etc/fstab на наличие ошибок:
findmnt --verify
Отключить и подключить заново swap:
swapoff -a swapon -a
Проверить состояние swap:
swapon --show
Процедура завершена в случае появления подобного вывода:
NAME TYPE SIZE USED PRIO /dev/sda3 partition 5,1G 0B -2