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

Раздел подкачки Linux или swap позволяет использовать жесткий диск для сохранения информации, которая должна сохраняться в оперативной памяти.

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

 

 

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

раздел подкачки Linux

Раздел подкачки Linux — частое решение в ситуациях, когда на сервере скриптам периодически не хватает оперативной памяти.

 

 

Создание swap, раздел подкачки Linux

Обычно для раздела, который будет использоваться в качестве «быстрой памяти» в дополнение к системной RAM выделяется столько же оперативной памяти, сколько имеется RAM или вдвое больше. Однако никаких правил нет и это просто условность.

В Linux чаще используется понятие именно раздела под swap, хотя swap файлы — с которыми обычно работают в Windows также используются. Рассмотрим только создание партиции.

 

 

Под swap будем использовать партицию, для которой при помощи fdisk создадим соответствующий тип раздела

fdisk -l

Находим в выводе устройство, размер которого совпадает с диском или партицией, который/ую хотим использовать, в примере это /dev/vdc

 

fdisk /dev/vdc

 

Command (m for help): p

Disk /dev/vdc: 5368 MB, 5368709120 bytes
16 heads, 63 sectors/track, 10402 cylinders, total 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x27e517f5

Device Boot Start End Blocks Id System

 

Отдаем команду на создание нового раздела

 

Command (m for help): n

Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended

 

Тип primary

Select (default p): p

 

Номер партиции, а также начало и конец секторов оставляем по-умолчанию

Partition number (1-4, default 1): 1
First sector (2048-10485759, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759):
Using default value 10485759

 

Самое важное — выбираем тип раздела

Command (m for help): t
Selected partition 1

 

Большая буква L выведет все варианты, из них потребуется 82 Linux swap / So c1

 

 

Сейчас выделена партиция /dev/vdc1 объемом 5 Гб, что довольно много для среднего сервера, но такое количество памяти также можно использовать.

 

Command (m for help): p

Disk /dev/vdc: 5368 MB, 5368709120 bytes
9 heads, 40 sectors/track, 29127 cylinders, total 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x27e517f5

Device Boot Start End Blocks Id System
/dev/vdc1 2048 10485759 5241856 82 Linux swap / Solaris

 

 

Раздел подкачки и mkswap

mkswap утилита, непосредственно создающая раздел подкачки, используем ее передавая имя раздела

mkswap /dev/vdc1

Setting up swapspace version 1, size = 5241852 KiB
no label, UUID=2f7a89e2-4bc3-4fa2-a442-b0e587d752d1

 

В последней строке выводится идентификатор UUID.

Монтировать раздел swap не нужно, достаточно его активировать. После ключа -U указываем идентификатор

swapon -U 2f7a89e2-4bc3-4fa2-a442-b0e587d752d1

 

Посмотреть все разделы, выделенные под swap можно командой swapon с ключом -s, таких разделов при желании можно сделать неограниченно много.

 

swapon -s

Filename Type Size Used Priority
/dev/vdc1 partition 5241852 0 -1

 

 

 

Добавление swap в автозагрузку

Чтобы раздел подкачки монтировался автоматически после каждой перезагрузки системы необходимо добавить правило в /etc/fstab

 

mcedit /etc/fstab

Последней строкой в файл дописываем

UUID=2f7a89e2-4bc3-4fa2-a442-b0e587d752d1    none    swap    sw    0    0

 

Идентификатор относится только к тому устройству, которое было создано ранее и размечено как swap. Вместо него можно использовать имя партиции — в примере это /dev/vdc1