Создание и подключение swap раздела на Linux Ubuntu (Debian like OS)

03 Фев 2017

Маленькая заметка, которая должна быть у каждого web-мастера.

Как создать своп — это самое элементарное что должен знать начинающий администратор веб-сервера.

Для начала нужно понять зачем нужен своп?

Своп (swap, файл-подкачки) — это буквально файл на вашем компьютере(сервере), который система иногда использует как оперативную память, когда у неё самой не хватает «настоящей», физической оперативной памяти.

Такой файл может в миг решить проблему нехватки оперативной памяти на вашем сервере, однако не все так просто. Иногда swap файл может наоборот замедлить работу вашего компьютера (сервера), ведь это простой файл, а значит скорость работы файла-подкачки будет зависеть от скорости вашего жёсткого диска. Поэтому я не очень рекомендую подключать файл подкачки если у вас на сервере стоит обычный HDD, даже HDD со скоростью оборотов ~7000 не даёт скорости обычной оперативной памяти, другое дело если у вас сервер с SSD, вот тут уже можно рассчитывать на ощутимый прирост.

Но стоит помнить что SSD низкого качества не дадут вам ощутимого прироста быстродействия сервера! К тому же SSD производства 2-3 годичной давности могут быть подвержены большему износу чем новые и это тоже нужно учитывать если вы используете выделенный сервер!

Так-же стоит упомянуть то что создать файл подкачки вам может помешать «формат» виртуализации вашего VDS, насколько мне известно подключить файл подкачки можно только на KMV.

Теперь приступим к самому главному, для начала нужно проверить есть ли у вас уже подключённый файл подкачки, для этого выполняем в терминале команду:
sudo swapon -s
Если сервер оповестит вас только вот такой строчкой:
Filename Type Size Used Priority
То у вас не подключен раздел подкачки, если же есть еще строки то раздел подкачки у вас уже есть!
(тогда дальнейшие инструкции помогут вам создать еще один файл подкачки)
Далее исходя из доступного пронстрансва на ваших дисках нужно создать файл подкачки вот такой командой:
sudo fallocate -l 1G /swapfile
— данная команда создаст файл в директории / с названием swapfile размером в 1 гигабайт (если вам нужно больше или меньше то измените параметр 1G, на, к примеру, 1024MB, 2G).

Советую создавать файл swap в размере в два раза большем чем количество оперативной памяти на вашем сервере

Теперь нужно отредактировать права для файла следующей командой:
sudo chmod 600 /swapfile
Далее нужно сказать системе «подключи мне файл /swapfile как раздел подкачки, пожалуйста 😊», делается это командой:
sudo mkswap /swapfile
Теперь файл подкачки у вас работает и его можно проверить командой:
sudo swapon -s
у нас должна появится новая строчка.
Но не все так радужно, свап то у нас работает но только до первой перезагрузки. И чтобы каждый раз не вводить команды при перезагрузке сервера, нужно добавить в конфиг fstab информацию о нашем разделе, делается это следующим образом:

  1. Открываем файл для редактирования командой:
    sudo nano /etc/fstab
  2. И вставляем туда следущую строку в самый конец файла:/swapfile none swap sw 0 0
  3. Далее зажимаем клавиши CTRL + O, и жмём ENTER, редактор закроется, а мы с довольным лицом идём пить чай! ☕️

На этом мы полностью настроили файл подкачки на вашем сервере/компьютере. Но я рекомендую ещё выполнить, магическую (для знающих конечно нет), команду:
sudo sysctl vm.swappiness=10
Она поможет системе больше полагаться на «физическую» оперативную память, нежели на swap — файл.

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