Освоение подкачки: как навсегда установить подкачку в Linux

Подкачка — это параметр ядра в Linux, который определяет, как часто система выгружает неиспользуемую память в пространство подкачки на диске. По умолчанию Linux имеет тенденцию быть консервативным в отношении памяти и заменять страницы относительно рано. Однако в зависимости от рабочей нагрузки вашей системы и доступной памяти вы можете настроить значение подкачки для оптимизации производительности. В этой статье мы рассмотрим различные способы постоянной установки подкачки в Linux, а также приведем примеры кода.

Метод 1: изменение файла sysctl.conf
Файл sysctl.conf позволяет постоянно настраивать параметры ядра. Выполните следующие действия:

Шаг 1. Откройте файл sysctl.conf с помощью текстового редактора. Например:

sudo nano /etc/sysctl.conf

Шаг 2. Добавьте следующую строку в конец файла, чтобы установить желаемое значение подкачки (например, 10):

vm.swappiness=10

Шаг 3. Сохраните файл и выйдите из текстового редактора.

Шаг 4. Примените изменения, выполнив следующую команду:

sudo sysctl -p

Метод 2: создание файла конфигурации Swappiness в sysctl.d
Вместо непосредственного изменения файла sysctl.conf вы можете создать отдельный файл конфигурации в каталоге sysctl.d. Вот как:

Шаг 1. Создайте новый файл с описательным именем и расширением.conf. Например:

sudo nano /etc/sysctl.d/60-swappiness.conf

Шаг 2. Добавьте в файл следующую строку:

vm.swappiness=10

Шаг 3. Сохраните файл и выйдите из текстового редактора.

Шаг 4. Обновите настройки sysctl, выполнив команду:

sudo sysctl --system

Метод 3: использование службы systemd
Другой подход — создать службу systemd, которая устанавливает значение подкачки во время запуска системы. Вот шаги:

Шаг 1. Создайте новый служебный файл. Например:

sudo nano /etc/systemd/system/swappiness.service

Шаг 2. Добавьте в файл следующее содержимое:

[Unit]
Description=Set Swappiness Value
[Service]
Type=oneshot
ExecStart=/sbin/sysctl -w vm.swappiness=10
[Install]
WantedBy=multi-user.target

Шаг 3. Сохраните файл и выйдите из текстового редактора.

Шаг 4. Включите запуск службы при загрузке:

sudo systemctl enable swappiness.service

Шаг 5. Немедленно запустите службу:

sudo systemctl start swappiness.service

Установка значения подкачки в Linux может существенно повлиять на производительность системы, контролируя, насколько агрессивно ядро ​​​​подкачивает память на диск. В этой статье мы рассмотрели три различных метода постоянной установки подкачки в Linux. Независимо от того, решите ли вы изменить файл sysctl.conf, создать файл конфигурации в sysctl.d или использовать службу systemd, понимание и настройка подкачки может помочь оптимизировать управление памятью вашей системы и общую скорость реагирования.

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

Точно настроив подкачку, вы сможете раскрыть весь потенциал управления памятью вашей системы Linux, что приведет к повышению производительности и более быстрому реагированию на вычисления.