Своп — это пространство на диске, которое используется, когда объем физической оперативной памяти заполнен. Когда в системе Linux заканчивается ОЗУ, неактивные страницы перемещаются из ОЗУ в пространство подкачки.
Пространство подкачки может принимать форму выделенного раздела подкачки или файла подкачки. Как правило, при запуске Ubuntu на виртуальной машине раздел подкачки отсутствует, и единственным вариантом является создание файла подкачки.
В этой статье объясняется, как добавить файл подкачки в системах Ubuntu 20.04.
Своп не должен рассматриваться как замена физической памяти. Поскольку пространство подкачки является разделом жесткого диска, оно имеет более медленное время доступа, чем оперативная память. Если вашей системе постоянно не хватает памяти, вы должны добавить больше оперативной памяти.
Как правило, размер файла подкачки зависит от того, сколько оперативной памяти имеет ваша система:
Только пользователь root или пользователь с правами sudo может активировать файл подкачки.
В этом примере мы создадим файл подкачки размером в 2 GB. Если вы хотите добавить больше подкачки, замените 2Gее на нужный вам объем подкачки.
Выполните следующие действия, чтобы добавить пространство подкачки в Ubuntu 20.04:
sudo fallocate -l 2G /swapfile
Если утилита fallocate отсутствует в вашей системе или вы получаете сообщение об ошибке fallocate failed: Operation not supported, используйте следующую команду для создания файла подкачки:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=2097152
sudo chmod 600 /swapfile
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
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
sudo rm /swapfile
Мы показали вам, как создать файл подкачки, а также активировать и настроить пространство подкачки в вашей системе Ubuntu 20.04.
Если вы столкнулись с проблемой или у вас есть отзыв, оставьте комментарий ниже.
Лучшая статья! Спасибо