Изменить раздел linux swap

Linux — Управление разделами SWAP

Ниже приведены рекомендации по размерам для SWAP в зависимости от ситуации.

ОЗУ SWAP SWAP (если гибернация)
2ГБ или меньше ОЗУ * 2 ОЗУ * 3
от 2ГБ до 8ГБ ОЗУ ОЗУ * 2
от 8ГБ до 64ГБ меньше 4ГБ 1.5 от объёма ОЗУ
больше 64ГБ меньше 4ГБ не рекомендуется использовать гибернацию

Во время гибернации перед тем как заснуть ваш компьютер перемещает данные с ОЗУ в SWAP. Ну а когда вы его включаете после гибернации то наоборот со SWAP в ОЗУ . Поэтому мы видим что в колонке с гибернацией SWAP всегда больше чем ОЗУ .

Создание раздела SWAP

Для создания раздела SWAP мы будем использовать уже нам знакомую утилиту parted , о которой я писал ранее.

Для начала выбираем диск, на котором нужно создать раздел со SWAP. Для примера создадим SWAP раздел размером 4ГБ на диске /dev/sdd .

Просмотр всех дисков в ОС

Запись Error: /dev/sdd: unrecognised disk label намекает как раз на то что это новый диск.

Создаём таблицу разделов gpt на диске sdd

sudo parted /dev/sdd mklabel gpt sudo parted /dev/sdd p 

Создаём сам SWAP раздел на диске sdd

sudo parted /dev/sdd mkpart swap-part linux-swap 1MiB 4GiB sudo parted /dev/sdd p 

Если вы не поняли, что за что отвечает можно посмотреть видео в низу или вызвать parted в интерактивном режиме parted /dev/sdd mkpart .

Если вы собираетесь это делать в скрипте не забываем о udevadm settle , о нём я писал тут.

Форматируем SWAP раздел

Если обычный раздел мы форматируем, используя mkfs то в ситуации со SWAP придётся использовать mkswap .

В выводе нам сразу предоставят UUID раздела, мелочь конечно, но приятно.

UUID=4a0c82fc-849f-444f-bc8d-52748ffa88e1 

Активация SWAP раздела

На данный момент мы только создали этот SWAP раздел, но наша система его еще не использует. Этим мы и займёмся в этой главе.

Для активации используется команда swapon , а для деактивации — swapoff .

Временная активация

Под временной активацией понимается что вы активируете SWAP только для активной ОС, т.е. если ваш компьютер перезагружается созданный вами SWAP снова становится неактивным (по аналогии с mount).

sudo swapon /dev/sdd1 sudo free 

Если есть желание проверить что активация действительно временная можно перезагрузить компьютер и снова выполнить free (показывает информации по виртуальной памяти).

Постоянная активация

Теперь сделаем всё по уму, так как надо. Для того чтобы у нас не сбрасывалась активация делаем запись в fstab как мы уже это делали в статье ранее про parted .

UUID=4a0c82fc-849f-444f-bc8d-52748ffa88e1 swap swap defaults 0 0 
sudo systemctl daemon-reload sudo swapon -a 

Последняя команда сделает активацию всех записей в /etc/fstab с меткой swap . UUID раздела нам вывела команда mkswap , но если вы её потеряли не беда выполняем команду:

Читайте также:  Kaspersky security center linux vs windows

Теперь при загрузке ОС активация SWAP будет проходить автоматически.

Второе значение стоит swap , хотя если выполнить команду man fstab там написано, что для SWAP можно и none. Но RedHat не рекомендует так делать так как становится труднее debug .

Приоритет SWAP раздела

Если мы выполним команду swapon то мы увидим что у нас несколько SWAP разделов и у них есть приоритетность (поле PRIO). В данном случае первым стоит раздел, который был создан при установке ОС.

NAME TYPE SIZE USED PRIO /dev/dm-1 partition 2G 0B -2 /dev/sdd1 partition 4G 0B -3 

Представим ситуации что я хочу, чтобы сперва страницы памяти перемещались на раздел /dev/sdd1 . Для этого в файле /etc/fstab вместо defaults я могу прописать pri=1 , или дописать к defaults .

UUID=4a0c82fc-849f-444f-bc8d-52748ffa88e1 swap swap defaults,pri=1 0 0 
sudo systemctl daemon-reload sudo swapoff /dev/sdd1 sudo swapon -a 

Или если используете команду swapon :

sudo swapon /dev/sdd1 -p 1 sudo swapon -a 

Видео

Ynwasg

О Ynwasg

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

Источник

Изменить раздел linux swap

admin

09-02-2018 19:30

5 мин на чтение

3 480

0

Рубрики

Свежие записи

На заре Linux мы измеряли оперативную память в мегабайтах. Тогда ее хватало на запуск всего нескольких приложений. Чтобы поддерживать систему в рабочем состоянии, необходим был файл подкачки [swap].

Но зачем он теперь, когда на новых компьютерах ОЗУ хоть отбавляй? Дело в том, что раздел подкачки очень пригодится в тех редких случаях, когда памяти все же будет мало.

По умолчанию в Ubuntu вместо раздела по умолчанию используется файл подкачки. Рекомендуется на него отводить либо 2% свободного места на диске, либо 2 ГБ, в зависимости от того, что меньше. Учтите, что раздел подкачки вдвое больше размера вашей оперативной памяти; в моем случае это дважды по 4 ГБ, то есть 8 ГБ. Это значит, что я сберегу 6 ГБ дискового пространства.

Создать новый файл подкачки легче, чем создать новый раздел или изменить его объем. При чистой установке Ubuntu 17.04 установщик создаст файл подкачки, если вы специально не попросите создать раздел. С другой стороны, во время обновления используется ваш текущий раздел подкачки.

Что же остается пользователям, желающим обновиться? Пользоваться старой системой они не хотят, но не хотят и целиком ее переустанавливать. Решение есть, и это не так сложно, хотя рекомендуется соблюдать осторожность; поэтому позаботьтесь припасти диск восстановления. Если у вас не Ubuntu, не расстраиваетесь. Процедура достаточно проста и применима к другим дистрибутивам.

Создание файла подкачки

Создать файл подкачки можно командой fallocate, либо dd. Сохранить его надо в корневом каталоге. Быстрее всего это делается с fallocate, но она использует действующую файловую систему, так что не с каждой будет работать хорошо. Зато для ext4 она подходит:

$ sudo fallocate -l 2G /swapfile

Данной командой создаем файл подкачки с именем swapfile размером 2 ГБ.

Читайте также:  Изменение пароля root astra linux

С dd данная процедура займет чуть больше времени, но этот способ более надежен:

$ sudo dd if=/dev/zero of=/swapfile bs=1024 count=2147483648

Файл подкачки должен быть надежно защищен. Его используют все программы, так что там могут содержаться важные данные. Право доступа к нему может иметь только суперпользователь. Далее убедитесь, что права доступа и принадлежность правильно настроены:

$ sudo chown root:root /swapfile

Инициализируйте файл как файл подкачки:

Проверьте, что ваш текущий файл подкачки имеет приоритет -1, то есть что приоритет не назначен:

ryagxden

Чтобы убедиться, что система использует новый файл подкачки, при запуске файла подкачки используйте параметр задания приоритета. Пространство подкачки с наименьшим приоритетом выключится быстрее.

Ваш текущий раздел подкачки будет отключен (установлен в -1) по умолчанию:

$ sudo swapon -p 10 /swapfile

Проверьте, как используется подкачка: файл заполняется не сразу. Ядро хранит много памяти в кэше и на жестком диске. Наконец вы получите следующее:

bl0vpylo

Увидев, что система использует ваш файл подкачки, вы можете отключить swap (можно использовать swapoff -a) для своего раздела. В идеале ваш старый раздел подкачки должен быть пустым, но это необязательно:

Команда swapoff способна выйти из строя из-за ошибки ядра, без каких-либо видимых системных эффектов, поэтому проверьте, исчез ли раздел из списка:

qpivsuex

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

Закрепляем изменения

Чтобы использовать файл подкачки, надо сделать так, чтобы система запускала его при загрузке. Простейший способ сделать это — добавить строку в файл fstab, например, так:

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

/swapfile_1 none swap defaults,pri=100 0 0

/swapfile_2 none swap defaults,pri=10 0 0

Система использует swapfile_1 чаще, чем swapfile_2, и было бы полезно, если бы swapfile_2 находился на другом диске. Вам также потребуется удалить раздел подкачки из того же файла. Но fstab — более старый инструмент, и в большинстве дистрибутивов systemd-fstabgenerator во время загрузки преобразует его в файл подкачки.

Теперь может показаться, что раздел подкачки в системе не используется, но посмотрите, что делает systemd-gpt-auto-generator. Он находит все разделы подкачки и создает соответствующий файл в начале процесса загрузки. Если вы хотите загрузить систему один или два раза, прежде чем восстанавливать раздел подкачки, не нужны другие меры. Чтобы получить раздел подкачки, но не использовать его, надо его замаскировать:

Теперь попробуйте систему некоторое время и убедитесь, что места для подкачки достаточно. Решив вернуть наше дисковое пространство, мы удалим раздел. Для этого подойдет GParted, fdisk или подобное. В systemd операция может закончиться неудачей.

Источник

Создание, редактирование и удаление SWAP в Linux

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

Общая информация

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

Читайте также:  Linux посмотреть параметры загрузки ядра

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

Система Linux позволяет одновременно использовать несколько SWAP разделов и SWAP файлов. Это позволяет более гибко подойти к вопросу расширения виртуальной памяти в случае нехватке размера SWAP области на сервере. Чаще всего, на работающем сервере с существующим SWAP разделом выясняется, что текущего размера виртуальной памяти уже не хватает. Целесообразнее добавить тестовый файл подкачки для определения нагрузки на SWAP область, а уже после увеличить размер раздела.

Создание, редактирование и удаление любых разделов из под загруженной в данный момент операционной системы не безопасно, поэтому создание SWAP раздела, вместо SWAP файла, делается только с использованием LiveCD. Статья на тему безопасного редактирования разделов будет написана в будущее время.

В системе Windows виртуальная память размещена только в отдельном файле – pagefile.sys (для Windows 2000 и выше) и win386.swp (для Windows 9x).

Для любой операционной системы, если используется спящий режим (Hebernation), размер виртуальной памяти следует делать не меньше объема оперативной памяти. В общих случаях наиболее эффективно использовать размер виртуальной памяти кратный 4 (1024 Мб, 2048 Мб и т.д.), так как ядро системы производит обмен страницами с памятью по 4 Кб в каждой. Размер виртуальной памяти легче посчитать от объема оперативной памяти *2, *3. Область подкачки стоит размещать на самом быстром жестком диске ближе к началу.

Хочу обратить Ваше внимани, что приведенные ниже инструкции касается только изменения размера ФАЙЛА ВИРТУАЛЬНОЙ ПАМЯТИ , а не изменение размера отдельной директории SWAP .

Ниже приведены пошаговые инструкции, которые позволят создать, изменить и удалить файл SWAP .

Создание SWAP файла

    Создаем файл необходимого размера для swap области, где /home/swap-tmp – это имя и путь файла, а count=1024K его размерв, в данном случае – 1024 Мб):

[user@localhost user]#sudo dd if=/dev/zero of=/home/swap-tmp bs=1024 count=1024K
1048576+0 записей считано
1048576+0 записей написано
скопировано 1073741824 байта (1,1 GB), 137,509 c, 7,8 MB/c

[user@localhost user]# sudo mkswap /home/swap-tmp
Устанавливается пространство для свопинга версии 1, размер = 1073737 кБ
без метки, UUID =54c60583-e61a-483a-a15c-2f1be966db85

Для просмотра результата просматриваем все объекты, которые используются для размещения виртуальной памяти:

Удаление SWAP файла

Если Вы раньше добавляли строчку в fstab, для автоматической загрузки SWAP файла при старте операционной системы, то следует ее удалить. Выводим файл /etc/fstab для редактирования на экран:

Редактирование размера SWAP файла

Действия по редактирование объема SWAP файла сводятся к удалению уже созданного файла SWAP и созданию нового файла требуемого размера. То есть нужно сначало сделать пункт 3, а после пункт 2.

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Источник

Оцените статью
Adblock
detector