Если вы считаете, что существующего пространства подкачки на вашем сервере или настольной системе недостаточно, добавьте необходимое в Ubuntu 24.04 Noble или 22.04 LTS Jammy JellyFish Linux. Пользователи также могут следовать этому руководству для Ubuntu 20.04 LTS.
Linux (как и почти все другие операционные системы) старается хранить компоненты операционной системы, включая необходимые программные данные, в оперативной памяти (основной памяти), поскольку доступ к оперативной памяти гораздо быстрее, чем к носителям данных, таким как жесткий диск, CD или USB-накопитель.
Однако оперативная память имеет свой предел энергозависимого пространства, если ваша система имеет 4 Гб памяти, то может случиться так, что много раз пространство оперативной памяти будет полностью распределено, когда мы запускаем много программ одновременно. В этот момент ядро Linux освобождает оперативную память, записывая часть данных, хранящихся в оперативной памяти, на жесткий диск; эта часть жесткого диска называется “Swap” памятью. Если данные снова понадобятся, они загружаются обратно в оперативную память, а другие данные, не требующиеся в данный момент, записываются в swap. В этом случае также говорят “система подменяет”.
Если система интенсивно использует своп, то из-за частых обращений к диску она становится значительно медленнее и кажется “жесткой”. Однако если свопа нет, а оперативная память исчерпана, ядро Linux завершает работу программ по своему усмотрению, чтобы освободить оперативную память. Это обычно приводит к потере данных. Ubuntu (как и все другие дистрибутивы) по умолчанию создает область подкачки во время установки, чтобы предотвратить именно это. В новых версиях Ubuntu используется файл подкачки; в старых версиях вместо файла подкачки используется раздел подкачки. Обычно это не имеет недостатков, но в некоторых деталях работа с ним отличается.
Шаги по добавлению области подкачки в Ubuntu 24.04 или 22.04 LTS Linux
Необходимый объем памяти зависит от нескольких факторов и не может быть указан в общем виде. В зависимости от использования системы, достаточно около 1 ГБ памяти подкачки или 1 ГБ + объем оперативной памяти для приостановки на диск. Если память подкачки (и оперативная память) закончится, система может аварийно завершить работу, и все данные, не синхронизированные с жестким диском, будут потеряны. Например, если в вашей системе 4 ГБ оперативной памяти, то 8 ГБ файла подкачки вполне достаточно, и если на жестком диске есть свободное место, выделите этот небольшой объем.
1. Проверьте текущее пространство подкачки
Прежде чем увеличивать пространство Swap в Ubuntu 24.04 или 22.04, проверьте текущий размер файла Swap в вашей системе. Это позволит вам узнать, сколько места вам нужно добавить и включен ли Swap в системе. Для этого воспользуйтесь приведенной командой:
sudo swapon -s
В столбце Size будет показан объем SWAP, выделенный в системе. Например, здесь у нас 2 ГБ. Это может быть /swapfile или /swap.img.

2. Выключите своп
Чтобы увеличить размер файла Swap, сначала отключите его использование на вашей Ubuntu 24.04 / 22.04. В противном случае система не позволит нам изменить его размер. Более того, даже если вы попытаетесь это сделать, будет выдана ошибка “fallocate: fallocate failed: Текстовый файл занят в Ubuntu 24.04 / 22.04?”
sudo swapoff -a
Пожалуйста, подождите некоторое время; система завершит процесс или переместит данные из Swap в оперативную память, прежде чем отключить его использование.
3. Создайте файл Swap в Ubuntu 24.04 или 22.04, чтобы увеличить его размер
Далее создайте новый файл подкачки с тем пространством, которое вы хотите выделить, используя данную команду. При использовании данной команды имейте в виду, что… 8G означает – 8 ГБ пространства, которое вы собираетесь выделить под Swap. Следовательно, вы можете увеличить или уменьшить его в соответствии с вашими требованиями.
sudo fallocate -l 8G /swapfile
4. Изменение разрешения файла
В целях безопасности измените разрешение файла и предоставьте полный контроль только пользователю root.
sudo chmod 600 /swapfile
5. Разметьте пространство SWAP и активируйте его
Сделайте созданный формат файла читаемым системой как Swap и активируйте его для использования нашей Ubuntu 22.04 или 24.04 или любой другой версией, которую вы используете.
sudo mkswap /swapfile
sudo swapon /swapfile

После активации вы можете проверить, добавлено ли пространство Swap в вашу систему или нет:
sudo swapon -s
или
sudo swapon --show
или
free -h

6. Установите SWAP-файл Ubuntu 22.04 или 24.04 как постоянный
Если вы выполнили все шаги, описанные выше, вы уже добавили память Swap в свою систему. И ваша система также начнет использовать ее немедленно. Однако при перезагрузке она будет деактивирована. Чтобы избежать этого, сделайте файл добавленного пространства подкачки постоянным в вашей системе Ubuntu, отредактируйте /etc/fstab
файл и добавьте информацию о вашем файле Swap. Вот команда, которую нужно выполнить для этого:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
7. Установите использование свопа или swappiness
Вы можете указать, когда ядро перемещает данные из памяти в раздел или файл подкачки. Swappiness задается значением от 0 до 100, при этом при значении 0 данные выгружаются только в том случае, если нет другого выхода (память переполнена), а при значении 100 память практически не используется. Значение по умолчанию равно 60, поэтому ядро более склонно к свопингу. Никакое значение не может быть рекомендовано, так как оно зависит от конкретной системы и поведения пользователя.
Если значение Swappiness было установлено очень низким и многие программы работают параллельно, может быстро случиться так, что память будет почти заполнена. Именно тогда запускается программа, которая сильно нагружает оперативную память. Теперь память исчерпана, и системе приходится загружать и без того громоздкую программу и отдавать ее на аутсорсинг. В результате вы получаете систему, которая работает с большим трудом.
Чтобы узнать текущее значение Swappiness, можно воспользоваться следующей командой:
sysctl vm.swappiness
Результат может выглядеть следующим образом:
vm.swappiness = 60
Чтобы немедленно изменить значение swappiness, например, снизить его до 25, используйте эту команду:
sudo sysctl vm.swappiness=25
Однако после перезагрузки система забудет об этом изменении, если в системный файл не будет введено следующее значение /etc/sysctl.conf
:
sudo nano /etc/sysctl.conf
Добавьте следующую строку в конец файла. Измените значение 25 на то, которое вы хотите установить для Swap.
vm.swappiness=25
Сохраните файл, используя Ctrl+O, нажмите кнопку Введите , а затем выйдите из редактора файлов с помощью клавиши Ctrl+X.
Теперь перезагрузите sysctl
файл конфигурации
sudo sysctl -p