
Подкачка — это пространство на диске, которое используется при заполнении физической оперативной памяти. Когда оперативная память заканчивается, система Linux перемещает неактивные страницы из неё в подкачку.
Пространство подкачки может быть представлено в виде выделенного раздела подкачки, файла подкачки или комбинации разделов и файлов. Как правило, при запуске Ubuntu на виртуальной машине раздел подкачки отсутствует, и единственный вариант — создать файл подкачки.
В этой статье вы узнаете, как добавить файл подкачки в систему Ubuntu 22.04.
Прежде чем начать
Раздел подкачки не заменяет физическую память. Поскольку раздел подкачки — это часть диска, доступ к нему осуществляется медленнее, чем к физической памяти. Если вашей системе постоянно не хватает памяти, следует добавить ОЗУ.
В большинстве случаев размер файла подкачки зависит от объема физической оперативной памяти системы Linux:
- Системы с объемом оперативной памяти менее 2 ГБ — в 2 раза больше оперативной памяти.
- Системы с ОЗУ от 2 до 8 ГБ — размер совпадает с объемом ОЗУ.
- Системы с объемом оперативной памяти более 8 ГБ — не менее 4 ГБ подкачки.
Активировать файл подкачки могут только пользователи с правами root или sudo .
Прежде чем начать, всегда полезно проверить, есть ли в вашей системе раздел подкачки. Это можно сделать с помощью следующей команды:
sudo swapon --show
Если вывод пустой, это означает, что в системе не настроено пространство подкачки. В противном случае команда выведет список настроенных пространств подкачки.
Другой вариант — использовать команду free :
free -h
Команда выведет информацию об использовании системной памяти, а также о пространстве подкачки:
total used free shared buff/cache available Mem: 3.8Gi 563Mi 2.8Gi 0.0Ki 516Mi 3.1Gi Swap: 0B 0B 0B
Создание файла подкачки
В этом руководстве мы создадим файл подкачки 4 GB . Если вам нужно больше или меньше места для подкачки, замените 4G на нужный размер пространства подкачки.
Перед созданием файла убедитесь, что на диске достаточно свободного места для успешного завершения процесса. Подробный отчёт об использовании дискового пространства системой можно получить с помощью команды df :
df -h
Здесь корневая файловая система ( / ) имеет достаточно свободного места (53 Гб) для создания файла.
Filesystem Size Used Avail Use% Mounted on tmpfs 197M 948K 196M 1% /run /dev/mapper/ubuntu--vg-ubuntu--lv 62G 6.3G 53G 11% / tmpfs 982M 0 982M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/sda2 2.0G 129M 1.7G 8% /boot tmpfs 197M 4.0K 197M 1% /run/user/1000
Первый шаг — создание файла, который будет использоваться в качестве файла подкачки:
sudo fallocate -l 4G /swap.img
Если утилита fallocate отсутствует в вашей системе или вы получаете сообщение об ошибке fallocate failed: Operation not supported , используйте следующую команду для создания файла подкачки:
sudo dd if=/dev/zero of=/swap.img bs=1024 count=4194304
После создания файла установите права доступа к нему на 600 чтобы обычные пользователи не могли записывать и читать файл:
sudo chmod 600 /swap.img
Затем создайте в файле область подкачки Linux:
sudo mkswap /swap.img
Setting up swapspace version 1, size = 4 GiB (4294963200 bytes) no label, UUID=6f66b47a-fa4a-4346-8163-dc0337066572
Активируйте файл подкачки, выполнив следующую команду:
sudo swapon /swap.img
Чтобы сделать изменение постоянным, откройте файл /etc/fstab :
sudo nano /etc/fstab
и вставьте следующую строку:
/etc/fstab
/swap.img swap swap defaults 0 0
Проверьте, активен ли своп, с помощью команды swapon или free , как показано ниже:
sudo swapon --show
NAME TYPE SIZE USED PRIO /swap.img file 4G 0B -2
sudo free -h
total used free shared buff/cache available Mem: 3.8Gi 566Mi 2.8Gi 0.0Ki 516Mi 3.1Gi Swap: 4.0Gi 0B 4.0Gi
Регулировка значения подкачки
Swappiness — это свойство ядра Linux, которое определяет, как часто система будет использовать пространство подкачки. Оно может принимать значения от 0 до 100. Низкое значение заставит ядро по возможности избегать использования пространства подкачки, тогда как высокое значение заставит ядро использовать пространство подкачки более активно.
В Ubuntu значение swappiness по умолчанию равно 60 Вы можете проверить текущее значение, введя следующую команду:
cat /proc/sys/vm/swappiness
60
Хотя значение swappiness 60 подходит для большинства систем Linux, для производственных серверов может потребоваться установить меньшее значение.
Например, чтобы установить значение подкачки 10 , выполните:
sudo sysctl vm.swappiness=10
Чтобы сделать этот параметр постоянным при перезагрузках, добавьте следующую строку в файл /etc/sysctl.conf :
/etc/sysctl.conf
vm.swappiness = 10
Оптимальное значение параметра swappiness зависит от нагрузки на систему и характера использования памяти. Этот параметр следует корректировать небольшими шагами, чтобы найти оптимальное значение.
Удаление файла подкачки
Чтобы деактивировать и удалить файл подкачки, сначала деактивируйте пространство подкачки:
sudo swapoff -v /swap.img
Затем удалите запись файла подкачки /swap.img swap swap defaults 0 0 из файла /etc/fstab .
Наконец, удалите сам файл swap.img с помощью команды rm :
sudo rm /swap.img
Заключение
Мы показали вам, как создать файл подкачки, а также активировать и настроить пространство подкачки в вашей системе Ubuntu 22.04.
Если у вас возникла проблема или вы хотите оставить отзыв, оставьте комментарий ниже.
подкачка оперативной памяти Ubuntu Не используете Ubuntu 22.04?
Выберите другую ОС: центос 7 центос 8 дебиан 10 дебиан 9 убунту 18.04 убунту 20.04
Связанные руководства
- Как добавить пространство подкачки в Ubuntu 20.04
- Как добавить пространство подкачки в Ubuntu 18.04
- Как добавить пространство подкачки в CentOS 8
- Как добавить пространство подкачки в Debian 10 Linux
- Как добавить пространство подкачки в Debian 9
- Как добавить пространство подкачки в CentOS 7
- Создать файл подкачки Linux