Своп – это пространство на диске, которое используется, когда объем физической оперативной памяти заполнен. Когда в системе Linux заканчивается ОЗУ, неактивные страницы перемещаются из ОЗУ в пространство подкачки.
Пространство подкачки может принимать форму выделенного раздела подкачки или файла подкачки. Как правило, при запуске Ubuntu на виртуальной машине раздел подкачки отсутствует, и единственным вариантом является создание файла подкачки.
В этой статье объясняется, как добавить файл подкачки в системах Ubuntu 20.04.
Прежде чем вы начнете
Своп не должен рассматриваться как замена физической памяти. Поскольку пространство подкачки является разделом жесткого диска, оно имеет более медленное время доступа, чем оперативная память. Если вашей системе постоянно не хватает памяти, вы должны добавить больше оперативной памяти.
Как правило, размер файла подкачки зависит от того, сколько оперативной памяти имеет ваша система:
- Системы с ОЗУ менее 2 ГБ – в 2 раза больше ОЗУ.
- Системы с оперативной памятью от 2 до 8 ГБ – того же размера, что и объем оперативной памяти.
- Системы с ОЗУ более 8 ГБ – не менее 4 ГБ подкачки.
Только пользователь root или пользователь с правами sudo может активировать файл подкачки.
Создание файла подкачки
В этом примере мы создадим файл подкачки размером в 2 GB. Если вы хотите добавить больше подкачки, замените 2Gее на нужный вам объем подкачки.
Выполните следующие действия, чтобы добавить пространство подкачки в Ubuntu 20.04:
- Сначала создайте файл, который будет использоваться как swap:
sudo fallocate -l 2G /swapfile
Если утилита fallocate отсутствует в вашей системе или вы получаете сообщение об ошибке fallocate failed: Operation not supported, используйте следующую команду для создания файла подкачки:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=2097152
- Установите права доступа к файлу 600, чтобы обычные пользователи не могли писать и читать файл:
sudo chmod 600 /swapfile
- Создайте область подкачки Linux в файле:
sudo mkswap /swapfile
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes) no label, UUID=fde7d2c8-06ea-400a-9027-fd731d8ab4c8
- Активируйте файл подкачки, выполнив следующую команду:
sudo swapon /swapfile
Чтобы сделать изменение постоянным, откройте файл /etc/fstab:
sudo nano /etc/fstab
и вставьте следующую строку в файл /etx/fstab:
/swapfile swap swap defaults 0 0
- Убедитесь, что подкачка активна, используя команду swaponили free, как показано ниже:
sudo swapon --show
NAME TYPE SIZE USED PRIO /swapfile file 2G 0B -1
sudo free -h
total used free shared buff/cache available Mem: 981Mi 97Mi 68Mi 0.0Ki 814Mi 735Mi Swap: 2.0Gi 10Mi 1.9Gi
Регулировка стоимости свопинга
Swappiness – это свойство ядра Linux, которое определяет, как часто система будет использовать пространство подкачки. Может иметь значение от 0 до 100. Низкое значение заставит ядро стараться избегать подкачки всякий раз, когда это возможно, в то время как более высокое значение заставит ядро более агрессивно использовать пространство подкачки.
В Ubuntu значение подкачки по умолчанию установлено на 60. Вы можете проверить текущее значение, введя следующую команду:
cat /proc/sys/vm/swappiness
60
Несмотря на то, что 60 для большинства систем Linux значение подкачки в порядке, для производственных серверов может потребоваться установить более низкое значение.
Например, чтобы установить значение swappiness 10, запустите:
sudo sysctl vm.swappiness=10
Чтобы сделать этот параметр постоянным при перезагрузке, добавьте следующую строку в файл /etc/sysctl.conf:
vm.swappiness=10
Оптимальное значение подкачки зависит от рабочей нагрузки вашей системы и от того, как используется память. Вы должны регулировать этот параметр с небольшими приращениями, чтобы найти оптимальное значение.
Удаление файла подкачки
Чтобы деактивировать и удалить файл подкачки, выполните следующие действия:
- Сначала отключите пространство подкачки:
sudo swapoff -v /swapfile
- Затем удалите запись файла подкачки /swapfile swap swap defaults 0 0 из файла /etc/fstab.
- Наконец, удалите фактический файл подкачки, используя команду rm:
sudo rm /swapfile
Вывод
Мы показали вам, как создать файл подкачки, а также активировать и настроить пространство подкачки в вашей системе Ubuntu 20.04.
Если вы столкнулись с проблемой или у вас есть отзыв, оставьте комментарий ниже.