Введение
Подкачка — это пространство на диске, которое используется, когда объем физической памяти заполнен. Когда в системе Linux заканчивается ОЗУ, неактивные страницы перемещаются из ОЗУ в пространство подкачки.
Пространство подкачки может иметь форму выделенного раздела подкачки или файла подкачки. Обычно при запуске виртуальной машины Debian раздел подкачки отсутствует, поэтому единственный вариант — создать файл подкачки.
Это руководство проведет вас через этапы добавления файла подкачки в Debian 10 Buster.
До начала
Хотя это возможно, наличие нескольких областей подкачки на одной машине не является обычным явлением. Чтобы проверить, поддерживает ли ваша установка Debian своп, выполните следующую команду:
sudo swapon --show
Если вывод пустой, в системе нет места подкачки.
В противном случае, если вы получите что-то подобное ниже, вы уже включили своп в своей системе Debian.
NAME TYPE SIZE USED PRIO
/dev/sda2 partition 2G 0B -1
Чтобы активировать своп, пользователь, выполняющий команды, должен иметь привилегии sudo.
Создать файл подкачки
В этом примере мы создадим и активируем обмен 1G
. Чтобы создать больший объем подкачки, замените 1G
на желаемый размер области подкачки.
Следующие шаги показывают, как добавить пространство подкачки в Debian 10.
Сначала создайте файл, который будет использоваться для подкачки:
sudo fallocate -l 1G /swapfile
Если fallocate
не установлен или вы получаете сообщение об ошибке, говорящее о том, что 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
:
sudo nano /etc/fstab
Вставьте следующую строку:
/swapfile swap swap defaults 0 0
Проверьте, активен ли своп, используя команду swapon
или free
, как показано ниже:
sudo swapon --show
NAME TYPE SIZE USED PRIO
/swapfile file 1024M 506.2M -1
sudo free -h
total used free shared buff/cache available
Mem: 488M 156M 73M 2.2M 237M 215M
Swap: 1.0G 505M 504M
Отрегулируйте значение подкачки
Подкачка — это свойство ядра Linux, которое определяет, как часто система будет использовать пространство подкачки. Swappiness может иметь значение от 0 до 100. Низкое значение заставит ядро стараться избегать свопинга, когда это возможно, в то время как более высокое значение заставит ядро более агрессивно использовать пространство подкачки.
Значение подкачки по умолчанию равно 60. Вы можете проверить текущее значение подкачки с помощью команды cat
:
cat /proc/sys/vm/swappiness
60
Хотя значение подкачки 60 подходит для большинства систем Linux, для рабочих серверов следует установить более низкое значение.
Например, чтобы установить значение swappiness равным 10, введите:
sudo sysctl vm.swappiness=10
Чтобы сохранить этот параметр после перезапуска сервера, откройте следующий /etc/sysctl.conf
:
sudo nano /etc/sysctl.conf
Вставьте следующий параметр:
vm.swappiness=10
Если вы используете nano, сохраните и закройте файл, нажав CTRL + X, затем Y, чтобы сохранить изменения, а затем ENTER.
Оптимальное значение подкачки зависит от рабочей нагрузки системы и от того, как используется память. Этот параметр необходимо регулировать с небольшими приращениями, чтобы найти оптимальное значение.
Удалить файл подкачки
Чтобы деактивировать и удалить файл подкачки, выполните следующие действия:
Отключите пространство подкачки, запустив:
sudo swapoff -v /swapfile
Откройте /etc/fstab
в текстовом редакторе и удалите запись файла подкачки /swapfile swap swap defaults 0 0
.
Наконец, удалите фактический файл подкачки с помощью команды rm
:
sudo rm /swapfile
Вывод
Вы узнали, как создать файл подкачки, а также активировать и настроить пространство подкачки на вашем компьютере с Debian 10.