В целом для всех операционных систем семейства Linux механизм добавления SWAP одинаковый.
Проверяем, подключен ли SWAP:
swapon --show
Если вывод пустой, то SWAP-а в системе нет. Если вывод выглядит примерно так:
NAME TYPE SIZE USED PRIO
/swapfile file 512M 0B -2
Значит, SWAP уже подключен. В нашем случае его размер равен 512 МБ.
Также проверим наличие SWAP с помощью команды free:
free -h
Вывод будет примерно таким:
total used free shared buff/cache available
Mem: 1.9Gi 69Mi 1.7Gi 2.0Mi 128Mi 1.7Gi
Swap: 512Mi 0B 512Mi
Здесь мы видим, что SWAP есть и его размер 512МБ. В случае его отсутствия строки Swap не будет.
Перед созданием SWAP обязательно нужно проверить, есть ли свободное место на диске:
df -h
Смотрим вывод и видим, что на диске свободно 36 ГБ. Если на диске мало места, перед добавлением SWAP необходимо очистить его либо увеличить объём диска. Для работоспособности системы необходимо минимум 5% свободного дискового пространства (либо больше, в зависимости от особенностей ваших проектов). После добавления SWAP раздел подкачки будет занят, имейте это ввиду при расчётах оставшегося свободного места на диске.
Filesystem Size Used Avail Use% Mounted on
udev 966M 0 966M 0% /dev
tmpfs 199M 596K 199M 1% /run
/dev/vda2 40G 1.9G 36G 5% /
tmpfs 994M 0 994M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 994M 0 994M 0% /sys/fs/cgroup
tmpfs 199M 0 199M 0% /run/user/0
Сначала рассмотрим случай, когда SWAP в системе нет. Создаём файл для SWAP размером 2 ГБ:
dd if=/dev/zero of=/swapfile bs=1M count=2048
Вывод будет таким:
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 5.2341 s, 410 MB/s
Данная команда создаст файл /swapfile размером 2048 мегабайт. Нужно больше или меньше — можно увеличить или уменьшить значение count.
Чтобы никто не мог читать или править файл, кроме владельца — root, устанавливаем права на него:
chmod 600 /swapfile
Проверим, что права выставлены верно:
ls -la /swapfile
Вывод должен быть таким (rw для пользователя, владелец и группа root, размер 2 ГБ):
-rw------- 1 root root 2147483648 Dec 18 19:05 /swapfile
Форматируем файл под swap:
mkswap /swapfile
Вывод будет примерно таким:
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=38e12a0a-58ea-4bc5-b0f9-58a29a1dd8db
Включаем SWAP:
swapon /swapfile
После проверим, что SWAP включен и его размер соответствует тому, что мы указывали:
free -m
total used free shared buff/cache available
Mem: 1977 113 65 2 1799 1691
Swap: 2047 0 2047
swapon --show
NAME TYPE SIZE USED PRIO
/swapfile file 2G 0B -2
Готово. Мы добавили SWAP в систему.
Автоматическое подключение SWAP после перезагрузки
Далее сделаем так, чтобы SWAP подключался автоматически после перезагрузки системы. Чтобы SWAP включался при загрузке, нужно добавить его в /etc/fstab.
Добавляем в конец файла /etc/fstab строку:
/swapfile none swap sw 0 0
Конец файла /etc/fstab будет выглядеть примерно так:
<file system> <mount point> <type> <options> <dump> <pass>
/dev/vda2 / ext4 errors=remount-ro 0 1
/swapfile none swap sw 0 0
После этого можно перезагрузить VDS и проверить наличие SWAP командой free -m.
Должно быть что-либо вида:
Swap: 2048 0 2048
Изменение SWAP
Рассмотрим случай, когда в системе уже есть SWAP, и нам нужно его изменить.
swapon --show
/swapfile file 256M 0B -2
Видим, что у нас в /swapfile 256 МБ, а нам нужно 2 ГБ. Как уже писали ранее, проверяем, что на накопителе есть свободное место с помощью команды df -h.
Далее выключаем имеющийся файл подкачки /swapfile:
swapoff /swapfile
Проверяем с помощью swapon —show. Важно, что при отключении SWAP не должен использоваться системой. В противном случае можно отключить некоторые сервисы, которые потребляют ОЗУ, и после увеличения SWAP включить их обратно.
Меняем размер файла подкачки уже знакомой командой:
dd if=/dev/zero of=/swapfile bs=1M count=2048
Далее инструкция такая же, как и при добавлении SWAP, только в нашем случае /swapfile уже имеет правильные права. Просто проверим, что это так:
ls -la /swapfile
-rw------- 1 root root 2147483648 Dec 18 20:24 /swapfile
Помечаем /swapfile как файл подкачки:
mkswap /swapfile
И активируем SWAP:
swapon /swapfile
Проверяем, что SWAP увеличился, а также проверяем файл /etc/fstab:
swapon --show
cat /etc/fstab
Добавить комментарий