Файл подкачки Swap file на Centos

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

Но, предположим, что нам, только иногда, нужно чуть больше оперативной памяти, например для сборки jenkins, раз в день. И, при этом, вы видим ошибку вида

Cannot allocate memory

Которая не дает окончить желаемое действие.

В этом случае, на помощь приходит файл подкачки, swap file, который становится, своего рода продолжением оперативной памяти. При этом он хранится и потребляет память жесткого диска. А он, как известно, заметно дешевле RAM.

Итак, прежде всего, нужно проверить, имеем ли мы свободное место на HDD

$ sudo su
# df -h

В нашем случае, свободно 55 гигабайт из 59-ти. 

Так же, давайте, проверим не создавали ли файла подкачки ранее

# swapon -s

Если вывод пустой — значит не создавали

Создадим файл подкачки на 1 Гигабайт (если необходимо больше — выставляем большее значение вместо выделенной цифры 1024 мб)

# dd if=/dev/zero of=/swapfile count=1024 bs=1MiB

Проверяем результат

# ls -lh /swapfile

Изменим режим доступа для файла — мера безопасности

# chmod 600 /swapfile

Теперь, активируем его

# mkswap /swapfile
# swapon /swapfile

Проверяем, что система видит его

# swapon -s

Однако, после перезагрузки он исчезнет, если не добавить его в загрузку

# nano /etc/fstab

И, в конец файла добавляем следующий код

/swapfile   swap    swap    sw  0   0

Сохраняем файл (CTRL+O) и закрываем (CTRL+X)

Готово!