Перейти к основному контенту

Как добавить область подкачки на linux Ubuntu 20.04

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

Чтение и запись информации с диска намного медленнее, чем из оперативной памяти. Операционная система будет по-прежнему предпочитать работать с данными приложений в памяти, а подкачку использовать для более старых данных. Как правило, полезно перестраховываться и иметь область подкачки в качестве резерва на случай нехватки оперативной памяти, чтобы исключить ошибки памяти в системах без SSD

1. Проверка информации о подкачке в системе

 Для начала мы проверим, есть ли уже в системе область подкачки. Можно иметь несколько файлов или разделов подкачки, но обычно одного достаточно.

Можно узнать, сконфигурирована ли в системе подкачка, введя команду:

sudo swapon --show

Если после этой команды ничего не появляется, в системе сейчас нет области подкачки.

Можно убедиться в отсутствии активной подкачки при помощи утилиты free:

swap1.png

В строке ​​​Swap видно​​​, что в системе отсутствует активная подкачка.

2. Проверка свободного пространства в разделе жесткого диска

Перед созданием файла подкачки проверим текущее состояние диска, чтобы убедиться, что у нас достаточно места. Вводим комнаду:

df -h

swap2.png

В данном случае устройство с / в столбце "​​​​​​Mounted on"​​​ — наш диск. В данном примере у нас достаточно места (использовано только 3,4 Гбайт). Ваше использование, вероятно, будет другим.

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

3. Создание файла подкачки

Теперь, когда известно свободное место на жестком диске, можно создать файл подкачки . Мы добавим файл необходимого размера под названием swapfile в корневую (/) директорию.

Лучше всего создавать файл подкачки при помощи программы fallocate. Эта команда мгновенно создает файл указанного размера.

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

sudo fallocate -l 1G /swapfile

Чтобы проверить правильность выделенного объема памяти, введите:

ls -lh /swapfile

swap3.png

4. Активация файла подкачки

Теперь, когда у нас есть файл правильного размера, нам нужно превратить его в пространство подкачки.

Сначала нужно изменить права доступа к файлу, чтобы только пользователи с правами root могли читать его содержимое. Это предотвращает доступ обычных пользователей к файлу — такой доступ может существенно влиять на безопасность.

Чтобы передать все права доступа пользователям root, введите:

sudo chmod 600 /swapfile

Теперь только у пользователя с правами root отмечены флажки чтения и записи.

Теперь можем отметить файл как пространство подкачки, введя следующее:

sudo mkswap /swapfile

После этого мы можем активировать файл подкачки, чтобы система могла его использовать:

sudo swapon /swapfile

swap4.png

Убедитесь, что пространство подкачки активировано, введя следующее:

sudo swapon --show

Чтобы подтвердить наши выводы, можем снова проверить ответ утилиты free:

free -h

swap5.png

Подкачка успешно настроена, и операционная система начнет использовать ее по мере необходимости.

5. Сделать файл подкачки постоянным

В результате внесенных нами изменений файл подкачки активирован для текущей сессии. После перезагрузки сервер не сохранит настройки подкачки автоматически. Мы можем изменить это, добавив файл подкачки к файлу /etc/fstab.

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

sudo cp /etc/fstab /etc/fstab.bak

Добавьте информацию о файле подкачки в конец файла /etc/fstab, введя следующее:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab