Swap — это пространство на диске, которое используется, когда объем физической памяти RAM заполнен. Когда в системе Linux заканчивается ОЗУ, неактивные страницы перемещаются из ОЗУ в область подкачки.
Пространство подкачки может иметь форму выделенного раздела подкачки или файла подкачки. В большинстве случаев при запуске Linux на виртуальной машине раздела подкачки нет, поэтому единственный вариант — создать файл подкачки.
Это руководство было протестировано в системах Linux с Ubuntu 18.04 и CentOS 7, но оно должно работать с любым другим дистрибутивом Linux.
Содержание
Как добавить файл подкачки
Выполните следующие действия, чтобы добавить 1 ГБ свопа на свой сервер. Если вы хотите добавить 2 ГБ вместо 1 Гб, заменить 1G
с 2G
.
-
Создайте файл, который будет использоваться для свопа:
sudo fallocate -l 1G /swapfile
Если
faillocate
не установлен или вы получили сообщение об ошибке, в которомfallocate failed: Operation not supported
чтоfallocate failed: Operation not supported
вы можете использовать следующую команду для создания файла подкачки:sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
-
Только пользователь root должен иметь возможность писать и читать файл подкачки. Чтобы установить правильный тип разрешений :
sudo chmod 600 /swapfile
-
Используйте утилиту
mkswap
чтобы настроить файл как область подкачки Linux:sudo mkswap /swapfile
-
Включите свопинг с помощью следующей команды:
sudo swapon /swapfile
Чтобы сделать изменение постоянным, откройте файл
/etc/fstab
и добавьте следующую строку:/ etc / fstab/swapfile swap swap defaults 0 0
-
Чтобы убедиться, что своп активен, используйте либо команду
swapon
либоfree
как показано ниже:sudo swapon --show
NAME TYPE SIZE USED PRIO /swapfile file 1024M 507.4M -1
sudo free -h
total used free shared buff/cache available Mem: 488M 158M 83M 2.3M 246M 217M Swap: 1.0G 506M 517M
Как настроить значение подкачки
Swappiness — это свойство ядра Linux, которое определяет, как часто система будет использовать пространство подкачки. Подкачка может иметь значение от 0 до 100. Низкое значение заставит ядро по возможности избегать подкачки, в то время как более высокое значение заставит ядро более агрессивно использовать пространство подкачки.
Значение swappiness по умолчанию — 60. Вы можете проверить текущее значение swappiness, введя следующую команду:
cat /proc/sys/vm/swappiness
60
Хотя значение подкачки 60 подходит для большинства систем Linux, для производственных серверов вам может потребоваться установить более низкое значение.
Например, чтобы установить значение swappiness равным 10, вы должны выполнить следующую команду sysctl
:
sudo sysctl vm.swappiness=10
Чтобы сделать этот параметр постоянным при перезагрузке, добавьте следующую строку в /etc/sysctl.conf
:
vm.swappiness=10
Оптимальное значение swappiness зависит от рабочей нагрузки вашей системы и того, как используется память. Вы должны настраивать этот параметр небольшими приращениями, чтобы найти оптимальное значение.
Как удалить файл подкачки
Если по какой-либо причине вы хотите деактивировать и удалить файл подкачки, выполните следующие действия:
-
Сначала деактивируйте своп, набрав:
sudo swapoff -v /swapfile
-
Удалите запись файла подкачки
/swapfile swap swap defaults 0 0
из файла/etc/fstab
. -
Наконец, удалите фактический файл подкачки с помощью команды
rm
:sudo rm /swapfile
Выводы
Вы узнали, как создать файл подкачки, а также активировать и настроить пространство подкачки в вашей системе Linux.
Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.