SWAP – это область на накопителе, в которой операционная система может временно хранить данные, которые больше не могут находиться в памяти.

 

Проверить наличие swap:

# swapon -s

Создать файл в 4Gb:

# sudo fallocate -l 4G /swapfile

Изменим права:

# sudo chmod 600 /swapfile

Накатываем файловую систему:

# sudo mkswap /swapfile

Включаем файл как swap системы:

# sudo swapon /swapfile

Добавляем в автозапуск:

# sudo nano /etc/fstab

/swapfile   swap    swap    sw  0   0

 

 

Тонкая настройка.

 

vm.swappiness. Это системная настройка (sysctl), смещающая высвобождение памяти в сторону анонимных страниц или файловых страниц.

Значение swappiness выражается числом от 0 до 100 (это использованная ОП в процентах; достижение этого значения приведет к использованию своп-пространства). Если значение swappiness близко к нулю, ядро не будет передавать данные в swap без крайней необходимости.

vm.swappiness — это по существу просто соотношение дорогой анонимной памяти, которую можно высвобождать и приводить к отказам, в сравнении с файловой памятью для вашего железа и рабочей нагрузки

 

Узнать текущее значение swappiness:

# cat /proc/sys/vm/swappiness

Для VPS лучше установить более близкое к 0 значение. Чтобы изменить значение swappiness, используйте команду sysctl. К примеру, чтобы задать swappiness значение 10, введите:

# sudo sysctl vm.swappiness=10 vm.swappiness = 10

Для сохранения данной настройки после перезагрузки необходимо записать в файл:

# sudo nano /etc/sysctl.conf

vm.swappiness = 10

 

Еще один важный параметр – vfs_cache_pressure; он управляет хранением записей специальных метаданных файловой системы. Постоянно чтение и обновление этой информации, как правило, требует большого количества ресурсов, поэтому хранить ее в кэше очень полезно для производительности системы.

 

Узнать текущее значение vfs_cache_pressure:

# cat /proc/sys/vm/vfs_cache_pressure

Установив меньшее значение при помощи команды sysctl (например, 50), система будет хранить информацию дольше:

# sudo sysctl vm.vfs_cache_pressure=50 vm.vfs_cache_pressure = 50

Для сохранения данной настройки после перезагрузки необходимо записать в файл:

# sudo nano /etc/sysctl.conf

vm.vfs_cache_pressure = 50

 

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

Если при загрузке системы SWAP раздел не подцепляется, а при попытке активировать SWAP возникает ошибка:

#sudo swapon -a

swapon: cannot find the device for UUID=

То выполняем следующие действия.

 

Бэкапим /etc/fstab:

#sudo cp /etc/fstab /etc/fstab.BAK

Проверяем соответствие UUID SWAP в /etc/fstab и в следующем файле:

#cat /etc/initramfs-tools/conf.d/resume

Проверяем то, что SWAP отключен:

#sudo swapoff -a

Если у нас есть UUID SWAP в файле /etc/fstab и он совпадает с выводом файла /etc/initramfs-tools/conf.d/resume, то присваиваем SWAP существующий UUID командой:

#sudo mkswap -U cf3e09ec-9413-4867-ac3f-ecd1bfe2d295 /dev/mdX

Если UUID нет, то создаем без него:

#sudo mkswap /dev/mdX

Указываем новый UUID в fstab:

#nano /etc/fstab

Активируем SWAP:

#sudo swapon -a

Если UUID SWAP новый или измененный, то выполняем:

#sudo update-initramfs -u

Проверяем UUID:

#cat /etc/initramfs-tools/conf.d/resume

 

 

Материалы:

https://www.8host.com/blog/kak-dobavit-swap-na-centos-7/

https://habrahabr.ru/company/flant/blog/348324/