Своп – это пространство на диске, которое используется, когда объем физической оперативной памяти заполнен. Когда в системе Linux заканчивается ОЗУ, неактивные страницы перемещаются из ОЗУ в пространство подкачки.
Пространство подкачки может принимать форму выделенного раздела подкачки или файла подкачки. Как правило, при запуске CentOS на виртуальной машине раздел подкачки отсутствует, поэтому единственным вариантом является создание файла подкачки.
В этой статье описываются этапы добавления файла подкачки в системах CentOS 8.
Создание и активация файла подкачки
Выполните следующие действия как пользователь root или пользователь с привилегиями sudo, чтобы добавить пространство подкачки в системе CentOS 8.
- Начнем с создания файла, который будет служить пространством подкачки:
sudo fallocate -l 1G /swapfile
В этом примере мы создаем файл подкачки размером 1G. Если вам нужно больше подкачки, замените 1G на нужный размер.
Если утилита fallocate недоступна в вашей системе, или вы получаете сообщение об ошибке fallocate failed: Operation not supported, тогда с помощью команды dd создайте файл подкачки:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
- Установите права доступа к файлу, чтобы только пользователь root мог читать и записывать файл подкачки:
sudo chmod 600 /swapfile
- Затем настройте область подкачки Linux для файла:
sudo mkswap /swapfile
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes) no label, UUID=0abdb8ba-57d6-4435-8fd8-5db9fc705045
- Активируйте обмен, выполнив следующую команду:
sudo swapon /swapfile
- Убедитесь, что подкачка активна, используя команду 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
- Сделайте изменение постоянным, добавив запись подкачки в файл /etc/fstab:
sudo nano /etc/fstab
Вставьте следующую строку:
/etc/fstab/swapfile swap swap defaults 0 0
Настройка значения Swappiness
Swappiness – это свойство ядра Linux, которое определяет, как часто система будет использовать пространство подкачки. Значение подкачки может иметь значение от 0 до 100. Низкое значение заставит ядро стараться избегать подкачки всякий раз, когда это возможно, в то время как более высокое значение заставит ядро более агрессивно использовать пространство подкачки.
Значение подкачки по умолчанию в CentOS 8 равно 30. Вы можете проверить текущее значение подкачки, введя следующую команду:
cat /proc/sys/vm/swappiness
30
Хотя значение swappiness 30 подходит для настольных компьютеров и компьютеров разработки, для производственных серверов может потребоваться установить более низкое значение.
Например, чтобы установить значение swappiness на 10, введите:
sudo sysctl vm.swappiness=10
Чтобы сделать этот параметр постоянным при перезагрузках, добавьте в файл /etc/sysctl.conf следующую строку:
/etc/sysctl.conf
vm.swappiness=10
Оптимальное значение подкачки зависит от рабочей нагрузки вашей системы и от того, как используется память. Вы должны регулировать этот параметр с небольшими приращениями, чтобы найти оптимальное значение.
Удаление файла подкачки
Чтобы деактивировать и удалить файл подкачки, выполните следующие действия:
- Отключите пространство подкачки, набрав:
sudo swapoff -v /swapfile
- Удалите запись подкачки /swapfile swap swap defaults 0 0 из файла /etc/fstab.
- Удалите фактический файл подкачки с помощью rm:
sudo rm /swapfile
Вывод
Мы показали вам, как создать файл подкачки, а также активировать и настроить пространство подкачки в вашей системе CentOS 8.
Если вы столкнулись с проблемой или у вас есть отзыв, оставьте комментарий ниже.