Несколько раз приходилось сталкиваться с ситуациями, когда провайдеры VPS хостинга на KVM, по непонятным причинам, отдавали виртуальную машину вообще без swap (файла подкачки). Это конечно хорошо если виртуалка «молотит в холостую», а когда на ней будут крутиться несколько сайтов с непредсказуемой нагрузкой….
Простейший выход — создать swap не в разделе, а в файле. Предположим есть виртуалка с 1 гигабайтом оперативной памяти без раздела под swap. Для начала нужно создать файл под swap, например — /mnt/swapfile. Для этого используем команду:
sudo fallocate -l 1G /mnt/swapfileто-есть создали файл под подкачку размером 1 гигабайт. Если по каким-то причинам будут проблемы с fallocate, то можно использовать старую, добрую команду dd:
sudo dd if=/dev/zero of=/mnt/swapfile bs=1M count=1024На всякий случай запрещаем пользователям напрямую читать файл:
sudo chmod 600 /mnt/swapfileДалее форматируем файл под swap устройство:
sudo mkswap /mnt/swapfileи подключаем к работающей системе:
sudo swapon /mnt/swapfileВсе. Теперь система с файлом подкачки, правда до следующей перезагрузки. Для того чтобы swap монтировался при каждой перезагрузке необходимо любым редактором текста добавить в файл /etc/fstab в самый конец строчку:
/mnt/swapfile none swap sw 0 0Проверить все ли прошло нормально, в штатном режиме можно командой:
swapon -s
Есль все нормально, то выдаст примерно следующее:
Filename Type Size Used Priority
/mnt/swapfile file 1048572 0 -1или
free -mна что получим примерно следующее:
total used free shared buffers cached
Память: 994 277 716 5 10 98
-/+ буферы/кэш: 169 824
Swap: 1023 0 1023