Настройка SWAP
Мы запрещаем включать SWAP на наших VPS! Использование SWAP на SSD и NVMe-дисках может существенно снизить время работы таких дисков. Это связано с тем, что у таких дисков есть предел по количеству циклов записи, а использование SWAP как раз активно записывает данные на диск.
Периодически системе может не хватать физической оперативной памяти для обслуживания всех приложений. Решением как правило является увеличение объёма RAM в соответствии с задачами. Но порой нехватка памяти случается лишь изредка, в этом случае поможет настройка SWAP.
Что такое Swap?
Swap - это пространство на жёстком диске, которое предназначено для записи временных файлов операционной системой в случае, когда оперативной памяти (RAM) уже не хватает. В общем случае это даёт возможность использовать больше оперативной памяти, чем есть физически, но в то же время это снижает производительность жёстких дисков.
Настройка SWAP
Включён ли уже Swap?
Первым делом нужно проверить, включён ли уже SWAP в системе или же ещё нет. Выполните следующую команду в SSH:
Если в результате выполнения команды система ничего не выдала, значит SWAP ещё не включён.
Вы можете также проверить, включён ли Swap с помощью утилиты free
:
В результате Вы должны увидеть что-то вроде:
Как видно по последней строке, Swap не активирован.
Есть ли на сервере свободное место?
Перед активацией SWAP нужно также проверить, есть ли на сервере достаточный объём дискового пространства. Вы можете сделать это с помощью команды:
В результаты Вы увидите что-то вроде:
В данном примере устройство /dev/vda1
является основным диском системы. Занято лишь 5% от общего объёма, значит можно настраивать SWAP.
Создание SWAP-файла
Самый простой способ создать файл SWAP - использовать утилиту fallocate
. Эта утилита быстро создаст файл нужного нам размера.
Поскольку сервер в примере имеет 1 Гб RAM, мы можем создать SWAP-файл объёмом в 2 Гб:
Проверить корректность создания файла можно командой:
В результате Вы увидите:
Включение SWAP
После создания файла SWAP мы можем приступить к активации Swap в системе.
Сначала нам нужно дать файлу необходимые права доступа:
Теперь мы можем пометить файл как файл, предназначенный для Swap:
Далее нужно включить Swap в системе:
Теперь проверим, всё ли включилось правильно:
В результате Вы должны увидеть что-то вроде:
И теперь проверим вывод утилиты free
:
Если вывод на Вашей системе соответствует приведённым выше двум примерам, значит Swap успешно активирован.
Настройка постоянной работы SWAP
Чтобы SWAP не исчез после перезагрузки сервера, нужно сделать его работу постоянной. Для этого нам понадобится подправить файл с разделами файловой системы сервера.
Сначала сделаем копию файла:
Теперь добавим в него запись о Swap-файле:
Гибкая настройка SWAP
Описанные ниже действия не являются обязательными, но Вы можете использовать эти настройки для повышения производительности Вашей системы при активном Swap.
Параметр swappiness
позволяет настроить частоту сброса данных из RAM в SWAP. Значение определяется в процентах, от 0 до 100.
При значении около 0 система не будет сбрасывать данные без очень веской необходимости.
При значении около 100 система будет активно использовать SWAP для того, что было как можно больше свободной оперативной памяти. Это может существенно замедлить работу дисков, но и повысить производительность некоторого ПО.
Текущее значение параметра swappiness
можно увидеть с помощью команды:
Мы рекомендуем установить значение от 0 до 10. Для установки значения выполните команду:
Настройка будет действовать до следующей перезагрузки. Чтобы сделать её постоянной, выполните команду:
Другой параметр, который может помочь - vfs_cache_pressure
. Он определяет, будет ли система кэшировать данные о inode (данные о файловой системе) и как часто.
Чем выше значение, тем чаще система будет обновлять данные.
Мы рекомендуем установить значение в 50.
Last updated