Увеличить SWAP на Ubuntu/Debian/Mint
Была проблема, у меня на Debian была создана подкачка (swap) в 1Гб, но как оказалось, мне этого мало и нужно увеличить хотя бы до 3-хГб. Данная тема «Увеличить SWAP на Ubuntu/Debian/Mint», как раз затронет этот вопрос.
Раздел подкачки является независимым разделом жесткого диска, используемого исключительно для подкачки. Swap представляет собой специальный файл в файловой системе, которая находится среди вашей системы и файлов данных.
1. Проверим сколько у нас выделено Swap-а:
Если не установлен, то установите или используйте аналог программы, под названием top. Чтобы установить используйте команду:
И смотрим сколько у нас выделено памяти:
используем утилиту htop для вывода swap
Собственно, у меня
1Гб, и как сказал ранее, я хочу его увеличить.
Так же, можно заюзать утилиту free и узнать какой swap используется:
Как видно по утилитам, данные совпадают.
Если знаете что на сервере имеется свап, но не помните какой размер, так же имеется утилита которая покажет эти данные:
Выбираем какой способ подойдет вам лучше и используем.
2. Создание раздела подкачки.
Проверяем где и сколько имеется свободного места, можно выполнить команду:
Расскажу несколько способов создать данный файл. Создадим папку в которую попозже мы примонтируем файл подкачки:
— СПОСОБ-1: Использовать утилиту dd.
В созданной папке будет храниться файл подкачки. Следующим действием, создаем файл:
увеличиваем раздел подкачки командой dd
Ждем определенное время, пока оно выполнится.
PS: Возможно прийдется создать сам файл:
Если запускаете от суперпользователя, то не нужно ничего создавать, утилита dd сделает все за вас.
— СПОСОБ-2: Использовать утилиту fallocate.
Данная утилита создаст файл мгновенно и тем самым экономит ваше время:
Мне больше по душе — 2-й способ с использованием утилиты fallocate.a
3. Создание swap-а
Для начала, выставляем нужные права на файл:
Делается это командой:
Создание образа swap командой mkswap
4. Добавление swap в fstab.
Это нужно сделать чтобы каждый раз при старте мой ОС, автоматически монтировался наш фал подкачки, который мы создали, для этого нужно выполнить команду:
И добавляем следующую строчку:
5. Активируем (включаем) нас swap.
Чтобы это сделать, стоит выполнить команду:
6. Проверка.
Необходимо убедится что у нас все нормально работает, сейчас мы это и проверим:
вывод количества swap
Собственно, видно что все работает нормально, но еще сейчас запустим утилиту htop и посмотрим что показывает она:
вывод количества swap с помощью программы htop
7. Взаимодействие SWAP с ОС. Проверика и настройка.
Есть несколько вариантов, которые вы можете настроить для более лучшей производительности вашей системы при работе со свопом.
Параметр swappiness определяет, как часто ваша система обменивается данными из оперативной памяти в подкачку. Этот параметр имеет диапазон от 0-100 и представляет собой процент.
При значениях, близких к нулю, ядро не обменяется данными на диск, если это абсолютно необходимо. Помните, что взаимодействие с файлом подкачки являются «дорогими» в том плане, что такие операции занимают гораздо больше времени, чем взаимодействие с оперативной памятью и тем самым могут привести к значительному снижению производительности.
Значения, которые находятся ближе к 100%, ядро будет пытаться поместить больше данных в своп и освободить RAM.
Чтобы проверить текущее значение swappiness, выполните:
Т.к я использую виртуальную машину для тестов — установка swappiness в 60 — дает не плохое значение, но для VPS желательно приблизить данный параметр в 0. И чтобы изменить swappiness используйте команду SYSCTL.
Например, чтобы установить swappiness в 10, выполним:
Этот параметр не сохранится до следующей перезагрузки и чтобы он применялся при каждом запуски ОС автоматически, нужно изменить (добавив строку в) файл /etc/sysctl.conf:
В самом низу файла, прописываем:
Сохраняем и закрываем файл.
Другой связанной с этим значением параметр которое вы можете захотеть изменить — vfs_cache_pressure, который настраивает, как много система будет выбирать кэш иноде и dentry по сравнению с другими данными.В основном, это доступ к данным о файловой системе и чтобы посмотреть текущее значение, выполните:
Параметр установлен в 100 и тем самым система удаляет информацию инодам из кэша очень быстро. Но если захотите уменьшить, выполните:
Это будет работать только до завершения вашей сессии и вы можем изменить его в файле ( как и ранее):