Как увеличить пространство подкачки в Ubuntu 24.04 или 22.04 LTS

Если вы считаете, что существующего пространства подкачки на вашем сервере или настольной системе недостаточно, добавьте необходимое в 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 в Ubuntu 22.04

После активации вы можете проверить, добавлено ли пространство Swap в вашу систему или нет:

sudo swapon -s

или

sudo swapon --show

или

free -h
Отметьте место SWAP и активируйте его

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *