Создание и настройка swap в Ubuntu

SwapВ статье об очистке файла подкачки в Windows мы затронули достаточно важный элемент работы компьютера, а именно, управление виртуальной памятью. Безусловно, механизм виртуальной памяти присутствует не только в системах Windows. Данная статья будет посвящена так называемой технологии swap (англ. менять), широко используемой в системах Linux в качестве области виртуальной памяти для временной загрузки туда данных, что не умещаются в оперативной памяти.

Swap, конечно, нельзя назвать панацеей, так как жесткие диски заведомо медленнее оперативной памяти. Что же касается более быстрых SSD-дисков, то создавать на них swap-разделы или swap-файлы не рекомендуется по причине меньшего по сравнению с жесткими дисками количества допустимых циклов перезаписи секторов. Сам смысл технологии swap заключается в возможности запуска приложений, которым требуется больше оперативной памяти, чем есть у ПК, а не в постоянном использовании жесткого диска в качестве замены оперативной памяти. Логика swap-разделов в Linux немного отличается от файла pagefile.sys в Windows. В данном случае мы имеем дело не с файлом, а с системным разделом жесткого диска. Впрочем, Linux дозволяет и использование файлов подкачки.

Перейдем непосредственно к управлению swap в Ubuntu-подобных системах. В качестве тестового стенда выбрана виртуальная машина с Xubuntu, но вы сможете убедиться, что синтаксис команд общий для родственных систем.

Первым делом проверим в нашей системе наличие swap:

Если в ответ Вы получите пустую строку, это будет означать, что swap-раздел или swap-файл не созданы.

Создание и настройка swap в UbuntuСистема сообщает об отсутствии swap. Создание и настройка swap в Ubuntu: Система сообщает о наличии swap-файла.Система сообщает о наличии swap-файла.

Swap-раздел или swap-файл

Вопрос, создавать ли swap-раздел или swap-файл, является дискуссионным. Конечно же, в первую очередь очередь пользователя интересует скорость. Так вот, особой разницы в данном случае нет. Расхожие представления, что прослойка в виде файловой системы замедляет swap-файл, можно отнести скорее к надуманным. А вот о чем действительно следует задуматься, так это о фрагментации. Поэтому swap лучше создать заблаговременно, а не после нескольких месяцев активного пользования системой. С другой стороны, преимущество swap-файла в том, что при его создании не требуется менять разметку диска.

Создание swap-файла в Ubuntu

Перед созданием swap всегда полезно оценить объем свободного дискового пространства через терминал командой

Создание и настройка swap в Ubuntu

Проверка свободного дискового пространства через эмулятор терминала.

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

Создание и настройка swap в Ubuntu

Как видите, мы можем разместить небольшой swap-раздел или swap-файл на этом компьютере.

Сколько отвести места под swap? Если планируется использовать на компьютере гибернацию, то swap должен быть равен объему ОЗУ. Раньше, когда объемы оперативной памяти были не столь велики, в ходу была рекомендация выставлять размер swap превышающим в два раза размер ОЗУ. Сейчас в этом нет необходимости.

Для создание swap-файла в Ubuntu можно использовать утилиту fallocate. Создадим файл подкачки и назовем его swapfile.

Вы можете обозвать его по-другому и задать ему необходимое место размещения.

После проверим, зарезервировала ли система нужное нам количество пространства:

Создание и настройка swap в Ubuntu

Если ОС выдала утвердительный ответ, превратим наш файл в swap-файл.

Заблокируем доступ к файлу всем, кроме учетной записи root:

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

Создание и настройка swap в Ubuntu

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

Создание и настройка swap в Ubuntu

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

И снова проверить его состояние командой

Создание и настройка swap в Ubuntu

Создание swap-файла завершено.

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

Создание swap-раздела в Ubuntu

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

Создание и настройка swap в Ubuntu

Создание раздела подкачки при установке операционной системы.

Я действительно рекомендую этот способ создания раздела подкачки как самый простой. Если же раздел подкачки не был создан при установке системы, тогда Ваши действия зависят от того, нужно ли переделывать разметку диска или нет. Создание и редактирование разделов несколько выходит за рамки данной статьи. Скажу лишь, что в данном случае можно использовать как графические утилиты (например, GParted), так и консольные (fdisk).

Итак, допустим, у нас есть раздел /dev/sda2, который мы хотим превратить в раздел подкачки. Для этого сперва превращаем его в раздел swap:

Затем включаем раздел подкачки:

Проверяем, что всё прошло успешно:

И добавляем нужную нам строку в файл /etc/fstab:

Настройка swap в Ubuntu

Рассмотрим два основных параметра, влияющих на работу swap. Первый из них — swappiness — отвечает за интенсивность использования файла или раздела подкачки. Значение этого параметра колеблется от 0 (не переносит данные на жесткий диск в swap) до 100 (всё данные переносятся в swap) и по умолчанию равно 60. Просмотреть его можно командой:

Для выставления своих значений используйте команду

Число в конце выбирайте исходя из своих предпочтений. Например, здесь мы снизили интенсивность использования swap и заставили систему размещать больше данных в ОЗУ. Если Вы работаете с небольшими объемами данных, которые чаще всего помещаются в ОЗУ Вашего компьютера, такая настройка может несколько увеличить производительность. Для того, чтобы настройка сохранилась после перезагрузки, выполните команду

Создание и настройка swap в Ubuntu

Настраиваем интенсивность использования swap.

Второй интересующий нас параметр называется vfs_cache_pressure и отвечает за длительность хранения кэша в ОЗУ. Значение параметра также колеблется от 0 (долго) до 100 (недолго). Соответственно, чем ближе значение параметра к 100, тем чаще будет удаляться кэш из ОЗУ, а значит реже придется задействовать swap. По умолчанию система старается удалять кэш максимально быстро, но если вы хотите держать его в оперативной памяти дольше, значение параметра можно понизить.

Создание и настройка swap в Ubuntu

Заставим Ubuntu хранить кэш в ОЗУ дольше.

Удаление swap в Ubuntu

Удалить swap-файл довольно просто. Если Вы не знаете сколько в системе swap-файлов и/или swap-разделов, то воспользуйтесь командой

После того, как Вы нашли нужный swap-файл, отключим его использование в качестве файла подкачки командой

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

Создание и настройка swap в Ubuntu

Удаление swap-файла.

Не забудьте отредактировать файл /etc/fstab, если Вы до этого вносили в него изменения. Например, простым редактором nano:

С отключением раздела подкачки всё так же просто. Для этого снова используем swapoff. Допустим, раздел подкачки лежит в /dev/sda2, где мы его и создавали в примере выше.

И редактируем /etc/fstab. А уж что дальше делать с этим разделом — решать Вам. 🙂


Источник: webistore.ru