Несколько раз приходилось сталкиваться с ситуациями, когда провайдеры 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