Менеджер пространства подкачки swapspace

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

Установка

В данный момент во многих дистрибутивах уже присутствует соответствующий пакет, и его, соответственно, можно установить при помощи менеджера пакета.

apt-get install swapspace

После установки он сразу же запустится и в системе появится такой процесс:

 1011 ?        Ss     0:00 /usr/sbin/swapspace -d -p

Если же есть необходимость собрать программное обеспечение из исходных кодов, то их можно найти на официальном сайте: http://pqxx.org/development/swapspace.

Использование

Пользоваться менеджером пространства подкачки swapspace очень просто. После запуска он работает самостоятельно, автоматически выделяя при необходимости дисковое пространство для сохранения страниц памяти из оперативной памяти. Если быть более точным, то он создает своп-файлы на диске при необходимости и динамически их подключает. Вот как выглядит вывод программы swapon при использовании менеджера пространства подкачки:

# swapon -s
Filename                   Type            Size    Used    Priority
/var/lib/swapspace/1       file            71192   63716   -1
/var/lib/swapspace/2       file            46856   28296   -2
/var/lib/swapspace/3       file            86244   0       -3

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

Настройка

Самое первое, что делаем — это редактируем файл /etc/swapspace.conf. В нем необходимо раскомментировать несколько строчек и файл после этого должен выглядеть примерно так:

# Swap path: location where swapspace may create and delete swapfiles.  For
# security reasons this directory must be accessible to root and to root only.
swappath="/var/lib/swapspace"

# Lower free-space threshold: if the percentage of free space drops below this
# number, additional swapspace is allocated
lower_freelimit=20

# Upper free-space threshold: if the percentage of free space exceeds this
# number, swapspace will attempt to free up swapspace
upper_freelimit=60

# Percentage of free space swapspace should aim for when adding swapspace.  This
# should fall somewhere between lower_freelimit and upper_freelimit.
freetarget=30

# Smallest allowed size for individual swapfiles
min_swapsize=4m

# Greatest allowed size for individual swapfiles
max_swapsize=2t

# Duration (roughly in seconds) of the moratorium on swap allocation that is
# instated if disk space runs out, or the cooldown time after a new swapfile is
# successfully allocated before swapspace will consider deallocating swap space
# again.  The default cooldown period is about 10 minutes.
cooldown=600

После этого надо рестартовать сервис

service swapspace restart

И теперь можно приступать к запуску программ, для которых нужны большие объемы оперативной памяти.

Особенности работы

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

Менеджер пространства подкачки swapspace: 6 комментариев

    1. Maxim Norin Автор записи

      Не пробовал. А почему сомневаетесь? Технически просто создается swap-файл, ничего FS-специфического происходить не должно.

      1. Андрей

        На btrfs нельзя создавать swap-файлы во избежание переполнения диска. Нужно вместо «/var/lib/swapspace» указать другое место (на другом разделе, не btrfs)

        1. Maxim Norin Автор записи

          Она уже стабильная? Последний раз когда я ей пользовался, всё было достаточно печально

          1. Андрей

            Пользуюсь полгода. Проблем не замечал. В SuSe вообще дефолтом предлагается для системного раздела. В случае чего очень удобно восстановить со снапшота. Домашний раздел оставил на Ехт4.

  1. Андрей

    Спасибо за мануал. Крутая штука и настройка очень простая.

Обсуждение закрыто.