Оглавление

При работе с системами Ubuntu LTS (20.04, 22.04, 24.04) часто возникает необходимость оптимизации работы за счет настройки пространства подкачки (swap). Это полезно, когда системе не хватает оперативной памяти для выполнения задач, и она начинает использовать подкачку — пространство на жестком диске, которое временно хранит данные, не помещающиеся в RAM. В этой статье мы подробно разберем, как правильно настроить подкачку в разных версиях Ubuntu LTS и сравним различные подходы.

Что такое пространство подкачки?

Пространство подкачки (swap) — это часть дискового пространства, выделенная под временное хранение данных, когда оперативная память системы (RAM) переполняется. Подкачка позволяет системе продолжать работу, даже если свободной оперативной памяти больше нет.

Однако работа с данными на жестком диске гораздо медленнее, чем в RAM, поэтому оптимальная настройка swap помогает сбалансировать производительность системы.

Проверка текущего состояния подкачки

Перед тем как изменять настройки, необходимо узнать, как в данный момент используется подкачка в вашей системе. Для этого выполните команду:

swapon -s

Эта команда покажет список активных разделов подкачки и текущий объем используемого пространства.

Альтернативный способ проверки через free:

free -h

Команда покажет общий объем RAM, используемую подкачку и свободное место в системе.

Как выбрать правильный объем подкачки?

Общий подход к выбору объема подкачки основан на объеме оперативной памяти. Если RAM меньше 4 ГБ, swap должен быть в два раза больше объема оперативной памяти. Для систем с RAM больше 8 ГБ можно ограничиться swap, равным по объему оперативной памяти.

Примеры:

  • Для 4 ГБ RAM: подкачка 8 ГБ.
  • Для 8 ГБ RAM: подкачка 8 ГБ.
  • Для 16 ГБ RAM и больше: swap может быть 4-8 ГБ в зависимости от задач.

Примечание: Для систем, активно использующих гибернацию, swap должен быть как минимум равен объему RAM, так как во время гибернации содержимое памяти сохраняется на диск.

Как добавить пространство подкачки на Ubuntu LTS

Шаг 1. Отключение текущей подкачки

Перед добавлением нового файла подкачки необходимо отключить активные разделы подкачки:

sudo swapoff -a

Шаг 2. Создание нового файла подкачки

Теперь создадим новый файл подкачки. Допустим, вам нужно создать файл объемом 8 ГБ:

sudo fallocate -l 8G /swapfile

Если fallocate недоступен, можно использовать команду dd:

sudo dd if=/dev/zero of=/swapfile bs=1M count=8192

Шаг 3. Настройка файла подкачки

Измените права доступа к файлу:

sudo chmod 600 /swapfile

Создайте файловую систему подкачки:

sudo mkswap /swapfile

Активируйте файл подкачки:

sudo swapon /swapfile

Шаг 4. Настройка автоматического монтирования

Чтобы система автоматически подключала swap при загрузке, нужно добавить строку в файл /etc/fstab:

sudo nano /etc/fstab

Добавьте следующую строку в конец файла:

/swapfile none swap sw 0 0

Сохраните файл и закройте редактор.

Как подключить новый жесткий диск или раздел под swap?

Если у вас есть дополнительный жесткий диск или раздел, который вы хотите использовать в качестве swap, выполните следующие шаги:

Шаг 1. Инициализация диска

Создайте файловую систему на новом разделе:

sudo mkfs.ext4 /dev/sdX

Шаг 2. Создание swap на разделе

Создайте файловую систему подкачки на новом разделе:

sudo mkswap /dev/sdX

Шаг 3. Активация swap

Активируйте swap на новом разделе:

sudo swapon /dev/sdX

Шаг 4. Настройка автоматического монтирования

Чтобы swap на новом разделе подключался при каждой загрузке, добавьте строку в файл /etc/fstab:

/dev/sdX none swap sw 0 0

Как удалить пространство подкачки?

Если больше нет необходимости в swap, его можно отключить и удалить.

Шаг 1. Отключение подкачки:

sudo swapoff /swapfile

Шаг 2. Удаление файла подкачки:

sudo rm /swapfile

Для удаления раздела используйте fdisk:

sudo fdisk /dev/sdX

Выберите опцию удаления раздела и подтвердите действие.

Возможные проблемы и их решение

  1. Недостаточно места на диске: Перед созданием файла подкачки убедитесь, что на диске достаточно свободного пространства.
  2. Ошибка при редактировании fstab: Если система не загружается из-за ошибки в файле fstab, загрузитесь в режиме восстановления и исправьте файл.
  3. Низкая производительность: Если swap активно используется даже при большом объеме RAM, возможно, стоит уменьшить «swappiness» — параметр, определяющий, как активно система использует подкачку. Для этого выполните:
   sudo sysctl vm.swappiness=10

Заключение

Настройка пространства подкачки в Ubuntu LTS — это важный шаг для повышения производительности системы, особенно если у вас ограниченный объем RAM. Независимо от того, добавляете ли вы swap через файл или новый раздел, правильно настроенное пространство подкачки может предотвратить перегрузку системы и повысить её стабильность.

Эта статья охватывает все основные аспекты инкапсуляции трафика и управления ресурсами системы в разных версиях Ubuntu LTS, включая 20.04, 22.04 и 24.04.