Swapfile
Управление размером swap-файла
Вчера на работе попросили написать небольшую инструкцию для увеличения swap-файла, но размер файл можно как увеличивать так и уменьшать в случае необходимости. Информация в заметке актуальна для ubuntu версий 14 и 16 а также centos 7.
Во многих ОС swap представлен не в виде отдельного раздела на диске, а в виде файла. Зачастую файл расположен в рутовой директории /swap
. В случае отсутсвия такого файла его всегда можно создать.
Для изменения размера swap требуются следующие действия:
Необходимо узнать тип и расположение swap при помощи команды:
swapon -s
вывод может быть например таким:
swapon -s
Filename Type Size Used Priority
“Пустой” вывод будет означать, что swap в системе отсутсвует.
Также вывод команды может быть таким:
swapon -s
Filename Type Size Used Priority
/dev/xvda5 partition 1046524 4568 -1
Это значит что для swap в системе сейчас используется раздел №5 вашего диска /dev/xvda
, в случае если бы выхотели увеличить размер swap не трогая текущий раздел диска, просто учтите что в дальнейшем swap-файл будет суммироваться с текущим разделом.
или вывод команды может быть таким:
swapon -s
Filename Type Size Used Priority
/swap file 1048572 0 -1
в случае такого вывода можно узнать что swap в системе это файл /swap и можно изменять его размер согласно дальнейшей инструкции, при этом можно будет не изменять /etc/fstab т.к необходимая запись там уже наверняка существует.
Отключить swap
swapoff -a
Изменить размер swap-файла
sudo dd if=/dev/zero of=/swap bs=1M count=1024
где count есть желаемый размер, например 512 или 1024 или 4096.
Подготовить swap-файл
chmod 600 /swap && mkswap /swap
Включить swap
swapon /swap
Проверяем результат:
swapon -s
Filename Type Size Used Priority
/swap file 1048572 0 -1
Также стоит добавить информацию о swap в файл /etc/fstab
для автозагрузки swap после перезагрузки сервера:
echo "/swapfile swap swap defaults 0 0"| sudo tee -a /etc/fstab